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
未定义 -
请不要在新代码中使用
mysql_*
函数。它们不再被维护,并被正式弃用。看到红盒子了吗?了解准备好的语句,并使用PDO或MySQLi-本文将帮助您决定哪一个。如果你选择PDO,这里有一个很好的教程。 -
您也对SQL注入持开放态度
为了进一步阐述John(Conde)的答案,exit
是MySQL的保留字:
- http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
要么将其重命名为其他名称,要么将其包装在反标记中:
$sql ="UPDATE visitor SET `Exit`='".$ab."' WHERE srno=$srno";
^ ^ backticks
或者(如果$srno
是字符串,正如John在回答中所说)
$sql ="UPDATE visitor SET `Exit`='".$ab."' WHERE srno='$srno'";
您在mysql_query()
上使用了mysql_error()
,这应该是语法错误的信号,您在问题中没有完全分享这一点,只是作为问题的标题,它没有向我们显示完整的错误消息,但我确信它的效果是...MySQL server version for the right syntax near 'Exit...
将错误报告添加到文件顶部,这将有助于生产测试。
error_reporting(E_ALL);
ini_set('display_errors', 1);
其将发出针对CCD_ 10的CCD_。