Php使用字符串中的变量(连接)

时间:2013-11-23 19:23:11

标签: php string-concatenation

为什么我不能使用这段代码?谁能告诉我什么是正确的代码?

$lfr_prfid = "profile='$log_id'";

$lfrsql = "SELECT * FROM friends WHERE user2='$log_id' AND accepted='1'";
$lfrquery = mysqli_query($db_conx, $lfrsql);

while ($lfrrow = mysqli_fetch_array($lfrquery, MYSQLI_ASSOC)) {

$lfr_id = $lfrrow["id"];
$lfr_user1 = $lfrrow["user1"];
$lfr_user2 = $lfrrow["user2"];

$lfr_prfid += " OR profile='".$lfr_user1."'";

}

我写的最后一行(+ =)并且代码不起作用,我怎么能以另一种方式做到这一点?所以我可以在SELECT语句中使用它。

$psql = "SELECT * FROM posts WHERE ".$lfr_prfid." ORDER BY postdate DESC LIMIT 0,20";
$pquery = mysqli_query($db_conx, $psql);

2 个答案:

答案 0 :(得分:4)

$lfr_prfid.=

.不与+连接。 +是javascript中的连接。

所以,在php:$myVar.= 'foo';

并在javascript中:myVar+= 'foo';

根据您的修改进行更新:

请不要在数据库查询中使用它。使用准备好的陈述或您的代码是危险的。

答案 1 :(得分:2)

将您的代码更改为:

$lfr_prfid .= " OR profile='".$lfr_user1."'";

PHP中的连接是使用.完成的,而不是使用+=完成的。

希望这有帮助!