在Mysql中将两列链接为一个字符串


Chaining two columns into one string in Mysql

我正在尝试对一个向公司客户发送电子邮件的电子邮件程序进行编码。

实际情况是,当字段businessname为空时,应该在其位置使用称呼和第二个名称。

我遇到的问题是,我不认为我使用了正确的语法来连接这两个字符串,它应该输出类似于"Mr Jones"的内容,但我只是遇到了一个语法错误,所以我认为这可能是我的劣质编码,我做php的时间不长,所以我不是很好。

<?php
if ($businessname == '')
{
    $name = $row->salutation & $row->surname;
}
else 
{
    $name = $row->businessname;
}    
echo $name;
?>

虽然上面的代码不会像你期望的那样,但你不应该真的遇到语法错误。你可能应该好好阅读关于字符串的手册部分。

无论如何,PHP中的字符串串联运算符是.,因此您想要做的语法是:

if ($businessname == '') {
  $name = $row->salutation.$row->surname;
} else {
  $name = $row->businessname;
}
echo $name;

您可以更简单地使用三元表达式:

$name = ($businessname == '') ? $row->salutation.$row->surname : $row->businessname;
echo $name;

如果你需要在变量之间插入一个空格,你只需要这样做:

$row->salutation.' '.$row->surname

仅供参考,您的原始代码所做的是在两个变量之间进行逐位AND运算。

如果要连接字符串,必须使用"."

$m1 = 'Hello';
$m2 = 'World';
$test = $m1.' '.$m2;

你应该看看更多的例子:http://www.phpf1.com/tutorial/php-string-concatenation.html