我正在尝试将信息写入db表,但它根本不起作用。我已经弄了好几个小时了。也许如果有人看一下代码,他们会发现我遗漏了什么。
我的逻辑是它连接到db服务器,打开数据库mydb,转到表mod,写入id、fname和lname,然后关闭连接。
另外,id被设置为auto_increment。据我所知,它应该可以工作,但它没有。
$con = mysql_connect("localhost","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb', $con);
//assign
$query = "INSERT INTO 'mod' (id, fname, lname) VALUES ('', 'bill', 'smith')";
if (!$query){
dir ("Unable to create the record:" . mysql_error());
exit;
}
mysql_query($query);
mysql_close($con);
发布于 2011-04-15 00:08:11
您在引用表名时犯了错误。它应该是`mod`` instead of 'mod'. i.e
反引号而不是‘单引号’。
第二个错误是你的dir的dir的statement...instead,它应该是di...
INSERT INTO `mod` (id, fname, lname) VALUES ('', 'bill', 'smith');
下一步,你也可以跳过插入id字段的值,它是自动递增的
所以它可以是
INSERT INTO `mod` (fname, lname) VALUES ('bill', 'smith');
发布于 2011-04-15 00:03:58
'mod‘前后不应该有引号
//编辑:
此外,if (!query)
部件在这一时刻也不是很有用,因为它检查的是字符串,而不是结果。您应该检查mysql_query()
的结果,如果失败,您应该输出一条错误消息。
发布于 2011-04-15 00:04:10
将您的查询更改为:
$query = "INSERT INTO mod (fname, lname) VALUES ('bill', 'smith')";
您的自动增量id将由数据库自动添加。
更新
您的错误代码应如下所示:
$query = "INSERT INTO mod (fname, lname) VALUES ('bill', 'smith')";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
https://stackoverflow.com/questions/5666092
复制相似问题