Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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语法有错误;检查与MySQL服务器版本对应的手册,了解正确的语法_Php_Mysql_Sql Update_Syntax Error_Mysql Error 1064 - Fatal编程技术网

Php 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,了解正确的语法

Php 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,了解正确的语法,php,mysql,sql-update,syntax-error,mysql-error-1064,Php,Mysql,Sql Update,Syntax Error,Mysql Error 1064,正在从文本框成功获取srno <?php $srno = $_POST['srno']; mysql_connect("localhost","root",""); mysql_select_db("visit"); $sql ="UPDATE visitor SET Exit='".$ab."' WHERE srno=$srno"; mysql_query($sql) or die ("Error: ".mysql_error()); ?

正在从文本框成功获取srno

<?php
    $srno = $_POST['srno'];
    mysql_connect("localhost","root","");
    mysql_select_db("visit");
    $sql ="UPDATE visitor SET Exit='".$ab."' WHERE srno=$srno"; 
    mysql_query($sql) or die ("Error: ".mysql_error());
    ?>

  • 如果
    $srno
    是一个字符串,则它周围缺少引号

  • $ab
    未定义

  • 。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO

  • 您也对

  • 为了进一步说明,
    exit
    是MySQL保留字:

    将其重命名为其他名称,或将其用反勾号括起来:

    $sql ="UPDATE visitor SET `Exit`='".$ab."' WHERE srno=$srno";
                              ^    ^ backticks
    
    或者(如果如John在回答中所述,
    $srno
    是一个字符串)

    您在
    mysql\u query()
    上使用了
    mysql\u error()
    ,这应该表明语法错误,您在问题中没有完全分享到这一点,只是作为问题的标题,它没有向我们显示完整的错误消息,但是我确信这是一种影响
    “退出…”附近的正确语法的MySQL服务器版本


    添加到文件顶部,这将在生产测试期间有所帮助

    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    

    这将发出一个
    未定义变量的信号…
    警告
    $ab

    您没有$ab的值。您在查询中使用的$srno,是字符串还是数字/整数???$ab是一个我能够成功获取的日期,$srno是一个整数Hanks Fred正是在backticks的帮助下,查询才得以实现executed@GauravGupta如果成功的话,你应该接受他的回答。别忘了检查链接。这是他在回答中给出的
    error_reporting(E_ALL);
    ini_set('display_errors', 1);