PHP MySQL WHERE子句列名错误

PHP MySQL WHERE子句列名错误,php,mysql,Php,Mysql,MySQL查询: $sSix = "SELECT count(*) as count FROM `timers` WHERE `real_id` = {$row['real_id']}"; $rSix = mysql_query($sSix, $conn2); echo mysql_error(); die; 结果: “where子句”中的未知列“985_1445542200” 列名是real_id,但其结果显示列“985_1445542200” 请告诉我可能的错误原因。您需要在的WHERE部

MySQL查询:

$sSix = "SELECT count(*) as count FROM `timers` WHERE `real_id` = {$row['real_id']}";
$rSix = mysql_query($sSix, $conn2);
echo mysql_error(); die;
结果: “where子句”中的未知列“985_1445542200”

列名是
real_id
,但其结果显示列“985_1445542200”


请告诉我可能的错误原因。

您需要在
的WHERE
部分加引号。像这样:

$sSix = "SELECT count(*) as count FROM `timers` WHERE `real_id` = '{$row['real_id']}'";

另外,请考虑使用较新的<代码> MySqLII< <代码>函数或<代码> PDO<代码>,因为旧的<代码> MySqL<函数将在将来停止工作。

< p>您将需要在<代码>中引用“< /代码>部分”。像这样:

$sSix = "SELECT count(*) as count FROM `timers` WHERE `real_id` = '{$row['real_id']}'";
$sSix = "SELECT count(*) as count FROM `timers` WHERE `real_id` = "'. $row['real_id'].'";
$rSix = mysql_query($sSix, $conn2);
echo mysql_error(); die;

另外,请考虑使用新的<代码> MySqLII< <代码>函数或<代码> PDO < /代码>,因为旧的<代码> MySqL<函数将在将来停止工作。

这是有效的,但我有其他的查询没有引用的情况下工作得很好。“选择
id
chu id
time
time
name
descr
real\u id
FROM
epg
其中
chu id
={$rTreeArray['id'}和((日期(
time
)='da')和日期(
time
)按时间排序)。”";@昆沃伯斯。请编辑您的问题或发布另一个问题,而不是将问题写在评论中。查询中也没有引号。@KunwarbirS.Strings需要引号。数字不会985_1445542200'是一个字符串“我有其他查询在没有引号的情况下运行良好”-那么这些查询很可能不适用于字符串文字,但适用于数字等
其中id=5可以,但是t=mary有一只小羊羔
不行;在后一种情况下,您必须在MySQL服务器
中使用单引号为解析器标记字符串文字,其中t='mary有一只小羊羔'
起作用,但我还有其他查询,没有引号也可以正常工作。示例:“选择
id
chu id
time
time
name
descr
real\u id
FROM
epg
其中
chu id
={$rTreeArray['id'}和((日期(
time
)='da')和日期(
time
)按时间排序)。”";@昆沃伯斯。请编辑您的问题或发布另一个问题,而不是将问题写在评论中。查询中也没有引号。@KunwarbirS.Strings需要引号。数字不会985_1445542200'是一个字符串“我有其他查询在没有引号的情况下运行良好”-那么这些查询很可能不适用于字符串文字,但适用于数字等
其中id=5可以,但是t=mary有一只小羊羔
不行;在后一种情况下,您必须在MySQL服务器
中用单引号为解析器标记字符串文字,其中t='mary有一只小羊羔'
注意PHP的MySQL\uAPI在几个世纪前就被弃用了,我建议在字符串中使用而不是使用变量,以避免sql注入。mysql_*扩展已被弃用,在即将发布的PHP7中不再出现。如果可能的话,现在是连接MySQL服务器的时候了……请注意,PHP的MySQL_u*API在几个世纪前就被弃用了,我建议在字符串中使用instead of use变量以避免sql注入。MySQL_*扩展已经弃用,并且在即将发布的PHP7中不再出现。如果可能的话,现在是连接MySQL服务器的时候了……对不起,这只会给您带来一个
Parse错误:语法错误,意外的“”$行[“”(T\u常量\u封装的\u字符串)
对不起,这只会导致
分析错误:语法错误,意外]。$row[“”(T\u常量\u封装的\u字符串)
$sSix = "SELECT count(*) as count FROM `timers` WHERE `real_id` = "'. $row['real_id'].'";
$rSix = mysql_query($sSix, $conn2);
echo mysql_error(); die;