Php简单错误

时间:2012-11-20 03:25:58

标签: php mysql sql

我正在尝试通过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。我无法弄清楚我输错了什么。

2 个答案:

答案 0 :(得分:4)

使用反引号转义数据库名称

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

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

CHECK是MySQL保留关键字。

答案 1 :(得分: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') ";