我正在尝试在数据库中添加一个名为ID的列。应该发生的情况是,当数据库中没有数据时,此脚本将插入ID为1的ID的第一行,但问题是它无效。
我认为我的空数据检查是一个问题,你们中的一个可以通过指出我应该做什么来帮助我。
我的代码
<?php
/**
* @author SiNUX
* @copyright 2013
*/
include ('connect.php');
$lastId = mysql_query("SELECT ID FROM poiinfo");
$row = mysql_fetch_array($lastId);
if (is_null($row['ID'])){
$nId = $row['ID'];
$nId = 0;
$nId = $nId++;
$addId = "INSERT INTO poiinfo(`ID`) VALUES ('$nId')";
mysql_query($addId);
}else {
$lId = $row['ID'];
$lId = $lId + 0;
$lId++;
}
?>
答案 0 :(得分:2)
您正在执行的此查询
INSERT INTO poiinfo('ID') VALUES ('$nId')
很可能会失败,因为columnname
被单引号括起来。引号应该被重新编辑或用反引号替换它,例如
INSERT INTO poiinfo(ID) VALUES ('$nId')
或
INSERT INTO poiinfo(`ID`) VALUES ('$nId')
所以问题是,何时使用反引号?您使用的是MySQL保留关键字列表中的名称
最后,您必须在mysql_query()
mysql_query($addId);
答案 1 :(得分:0)
您必须重置自动增量字段ID
,以便在表格为空时插入1