1

我正在尝试通过 php 将数据插入数据库。很容易(我想)。我无法弄清楚我做错了什么。这是我的代码:

$DB_HostName = "localhost:8888";
$DB_Name = "Sample";
$DB_User = "root";
$DB_Pass = "root";
$DB_Table = "Check";

$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error()); 
mysql_select_db($DB_Name,$con) or die(mysql_error()); 


$sql =  "INSERT INTO $DB_Table (name) VALUES ('Sally') ";
mysql_query($sql) or die ("Error with Result");

mysql_close($con);  

它给了我一个错误,说“结果错误”。这意味着它必须正确连接到数据库,并且除了结束部分之外一切正常。我错过了什么?如果我说 (msql_error()) 它也会告诉我检查 $sql. 我无法弄清楚我输入错误的内容。

4

2 回答 2

4

用反引号转义您的数据库名称

$sql =  "INSERT INTO `$DB_Table` (name) VALUES ('Sally') ";

或者

$sql =  "INSERT INTO `" . $DB_Table . "` (name) VALUES ('Sally') ";

CHECK是 MySQL 保留关键字。

于 2012-11-20T03:27:19.353 回答
0

我不能强调这一点,不要使用 mysql_ 函数,那个时间已经过去了。使用mysqliPDO

检查 SQL 查询有什么问题的一种简单方法是在 die 语句的末尾添加一个错误标志mysql_query($sql) or die ("Error with Result<br>".mysql_error());

在您的情况下,它似乎check是一个约束,用于限制可以放置在列中的值范围。您需要使用“`”识别它是一个表:

$sql =  "INSERT INTO `$DB_Table` (name) VALUES ('Sally') ";
于 2012-11-20T03:33:00.007 回答