我正在运行一个wamp服务器并创建了一系列html网页,然后用户输入的数据将通过PHP脚本提交给SQL数据库。我用Id. set to INT auto increment Crime. and Suspect. set as VARCHAR(40)
创建了一个数据库表。我可以连接到数据库,但现在当我尝试插入时,我得到错误:
'插入问题:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行''(Id,Case,Suspect)VALUES('NULL','test','test12')附近使用正确的语法
所以我知道它的插入功能有问题,但无法修复它!
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'fid';
$case = (isset($_POST['case'])? $_POST['case']:"None");
$suspect= (isset($_POST['suspect'])? $_POST['suspect']:"None");
$conn = mysql_connect($dbhost,$dbuser,$dbpass);
if (!$conn)
die('Could not connect: ' . mysql_error());
mysql_select_db($db);
mysql_query("INSERT INTO case
(Id, Case, Suspect) VALUES('NULL', '$case', '$suspect') ")
or die(' Problem with insert: ' . mysql_error());
echo 'Connected successfully';
mysql_close($conn);
?>
答案 0 :(得分:2)
case
是reserved keyword。如果你要有一个名为case
的表和columnj,你需要把它放在刻度线中:
INSERT INTO `case` (Id, `Case`, Suspect) VALUES('NULL', '$case', '$suspect')
另外,
Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。