Php如果声明没有按预期工作

时间:2012-01-28 22:39:33

标签: php mysql if-statement

我正在使用php制作电子邮件脚本。发生了什么是mysql查询,其输出存储在以下字符串中:

$personal1 = $userinfo->salutation;
$personal2 = $userinfo->surname;
$business = $userinfo->businessname;

接下来我有一个if语句,这会检查姓氏是否为空,如果是,则将其称为salutation + surname。我遇到的问题是电子邮件一直发送给Dear,商家名称,即使姓氏字段不是空白,我也不确定我做错了以下代码但是我做错了吗? / p>

if ($personal2=="") {
$name = $business; }
else {
$name = $personal1 . ' ' . $personal2;};

编辑>>>>>>>>>>>

如果我回复了我得到的字符串的内容:

personal1 = Mr
personal2 = Johnson
business = Hat Trick Media

编辑2>>>>>>> 这是一些代码,然后传递给邮件程序。

<?php
$cf_uid = $_GET['token'];
$query = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addupdatelead WHERE cf_uid = '$cf_uid'") or die(mysql_error());
$userinfo = mysql_fetch_object($query);

$personal2 = $userinfo->surname;
$personal1 = $userinfo->salutation;
$business = $userinfo->businessname;
?>
<?php
$result = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addemailtemplate");

while ($row = mysql_fetch_object($result)) {
    echo '<tr class="table-row">';

   echo '<th class="template-name">';
   echo '<div class="namerow">';
   $id = $row->cf_uid;
   $form_id = $row->form_id;
   $query = mysql_query("SELECT `$form_id` FROM email_history WHERE cf_id = '$user_id'") or die(mysql_error());
$datesent = mysql_fetch_object($query);
$date = $datesent->$form_id;

if ($personal2=="") {
$name = $business; }
else {
$name = $personal1 . ' ' . $personal2;};

2 个答案:

答案 0 :(得分:1)

您的代码是否有效?你的代码结构很糟糕。而不是......

if ($personal2=="") { 
$name = $business; } 
else { 
$name = $personal1 . ' ' . $personal2;};

使用

if ($personal2=="") { 
    $name = $business;
} 
else {
    $name = $personal1 . ' ' . $personal2;
}

你似乎有额外的;你不需要的。

你似乎也没有在你发布的代码中关闭while循环......

答案 1 :(得分:0)

好的,我已经发现问题是什么,$ name来自上一页的会话并覆盖此页面上的$ name,我现在已将其设置为在加载此页面之前销毁会话,似乎现在已经对它进行了分类,感谢大家的帮助: - )