Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 您的SQL语法有错误;请查阅手册,了解使用near'和'user\u id`=1'的正确语法_Php_Mysql_Sql_Syntax - Fatal编程技术网

Php 您的SQL语法有错误;请查阅手册,了解使用near'和'user\u id`=1'的正确语法

Php 您的SQL语法有错误;请查阅手册,了解使用near'和'user\u id`=1'的正确语法,php,mysql,sql,syntax,Php,Mysql,Sql,Syntax,我知道有很多这样的问题,但似乎没有一个有效,我找不到语法上的错误 mysql_query("SELECT `type` FROM `poststuff` WHERE `post_id` = 7 AND `user_id` = 1"); 任何帮助都会很棒! 顺便说一句,标题上有错误 你们的完整代码-- function update_post($post_id, $user_id) { $result = mysql_result(mysql_query("SELECT `type` FROM

我知道有很多这样的问题,但似乎没有一个有效,我找不到语法上的错误

mysql_query("SELECT `type` FROM `poststuff` WHERE `post_id` = 7 AND `user_id` = 1");
任何帮助都会很棒! 顺便说一句,标题上有错误 你们的完整代码--

function update_post($post_id, $user_id) {
$result = mysql_result(mysql_query("SELECT `type` FROM `poststuff` WHERE `post_id` = $post_id AND `user_id` = $user_id"), 0) or die(mysql_error());
if ($result !== null) {
if ($result === "no" ) {
$actual_count = mysql_result(mysql_query("SELECT `$result` FROM `posts` WHERE `post_id` = $post_id"), 0);
mysql_query("UPDATE `posts` SET `$actual_count` = $actual_count+1 WHERE `post_id` = $post_id AND `type` = 'no'");
}

您发布的SQL文本中似乎没有问题。我建议您验证它是否是AND关键字前面的有效空白字符

根据错误消息,我怀疑查询中AND关键字前面有无效字符

如果运行的查询在AND关键字之前有逗号或其他非空白字符,则会出现这种错误

例如,运行此查询:

SELECT `type` FROM `poststuff` WHERE `post_id` = 7,AND `user_id` = 1
                                                  ^
将导致与您得到的错误类似的错误:

... error in your SQL syntax; ... near 'AND `user_id` = 1'
如果等号后面没有值,只有空格,则会报告相同的错误。例如,以下查询将返回相同的错误:

SELECT `type` FROM `poststuff` WHERE `post_id` = AND `user_id` = 1
                                                ^

给出您的表结构查询中实际有7和1,还是它们是变量?是的,它们是整数,所以不需要单引号,对吗?是的,整数不需要单引号。我在phpMyAdmin中得到了这个错误,只有这个查询!我也想到了这一点,但是当我将上面的内容复制/粘贴到我的查询浏览器中时,我没有发现这个错误。也许OP并没有将他的查询复制粘贴到SO,而是重新键入了它?函数update_post$post_id,$user_id{$result=mysql\u resultmysql\u query从poststuff中选择类型,其中post_id=$post_id和user_id=$user_id,0或diemsql\u错误;if$result!==null{if$result==no{$actual\u count=mysql\u resultmysql\u querySELECT$result FROM posts其中post\u id=$post\u id,0;mysql\u queryUPDATE posts SET$actual\u count=$actual\u count+1其中post\u id=$post\u id,type='no';}@DCV_Diego请停止并验证在我在phpMyAdmin中出现此错误之前您所说的内容,仅使用此查询!@DCV_Diego好的,因此此答案建议问题是由于意外字符呈现为空白或可能根本没有显示。如果您重新键入不复制/粘贴,会发生什么情况!原始查询-从“poststuff”中选择“type”E`post\u id`=7和`user\u id`=1-进入phpMyAdmin并运行它?@DCV\u Diego尝试以SQL FIDLE-as的形式重现该问题