0

我正在运行一个 wamp 服务器并创建了一系列 html 网页,用户输入的数据然后通过 PHP 脚本提交到 SQL 数据库。我用Id. set to INT auto increment Crime. and Suspect. set as VARCHAR(40). 我可以连接到数据库,但现在当我尝试插入时出现错误:

'插入问题:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'case (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);
?>
4

1 回答 1

2

case保留关键字。如果您要命名一个表和 columnj case,则需要将其放在刻度中:

INSERT INTO `case` (Id, `Case`, Suspect) VALUES('NULL', '$case', '$suspect')

另外, 请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-03-17T17:48:53.393 回答