为什么我不能使用这段代码?谁能告诉我什么是正确的代码?
$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);
答案 0 :(得分:4)
$lfr_prfid.=
与.
不与+
连接。 +
是javascript中的连接。
所以,在php:$myVar.= 'foo';
并在javascript中:myVar+= 'foo';
请不要在数据库查询中使用它。使用准备好的陈述或您的代码是危险的。
答案 1 :(得分:2)
将您的代码更改为:
$lfr_prfid .= " OR profile='".$lfr_user1."'";
PHP中的连接是使用.
完成的,而不是使用+=
完成的。
希望这有帮助!