这行代码有什么问题?
$query= "SELECT status FROM follow WHERE user_id1= $COOKIE['user_id'] AND user_id2=
$user_id";
我不断收到错误消息:
解析错误:语法错误,意外的 T_ENCAPSED_AND_WHITESPACE,需要 T_STRING 或 T_VARIABLE 或 T_NUM_STRING
您不能在字符串中使用带引号的数组键。你必须使用语法,或者去掉引号(这会在字符串之外{...}
发出警告,但你知道,PHP。)
每个坚持你使用的人mysql_real_escape_string
都是正确的,每个坚持你使用 PDO 的人都更正确。
尝试这个
$query= "SELECT status FROM follow WHERE user_id1 = {$_COOKIE['user_id']}
AND user_id2 = {$user_id}";
这行代码有什么问题?
基本上,你有一个 array $COOKIE
,我相信$_COOKIE
它是你正在访问的,但由于它被封装在一个字符串中,你需要帮助 PHP 的解析器表明是的,它实际上是一个变量(数组)而不是部分的字符串。为此,您应该{$like_this}
在“字符串”中使用变量时将它们封装起来;
单引号分隔导致此错误的数组键
要么在字符串中省略这些引号,要么使用大括号。
您还必须确保进入查询的值具有正确的格式
$user_id1 = (int)$COOKIE['user_id'];
$user_id2 = (int)$user_id;
$query="SELECT status FROM follow WHERE user_id1=$user_id1 AND user_id2=$user_id2";