连接此查询的正确方法是什么?
$query2= "SELECT * FROM relationships WHERE user_1= '.$_SESSION['user_id'].'
AND user_2= '.$user_id.' ";
我一直收到这个错误:
解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,在第32行的C:\ xampp \ htdocs \ beta \ profile.php中期待T_STRING或T_VARIABLE或T_NUM_STRING
答案 0 :(得分:5)
连接此查询的正确方法是什么?
让您的SQL库/客户端/服务器为您执行此操作(同时免费转义特殊字符)。尝试通过将字符串混合在一起来构建代码相对容易出错,并且涉及各种引用字符的繁琐组合,这些字符很难维护。
答案 1 :(得分:2)
您的单引号和双引号的嵌套不正确。
$query2= "SELECT * FROM relationships WHERE user_1= '" . $_SESSION['user_id'] . "' AND user_2= '" . $user_id . "'";
答案 2 :(得分:2)
或者:
$query2 = "SELECT * FROM relationships WHERE user_1='" . $_SESSION['user_id'] . "'AND user_2='" . $user_id . "'";
或者:
$query2 = "SELECT * FROM relationships WHERE user_1='${_SESSION['user_id']}' AND user_2='$user_id'";
修复了语法错误。但是,通过连接形成查询是一个坏主意。至少,如果没有使用PDO,你应该mysql_realescapestring
所有参数。