我试图在数据库中的一个名为ID的列中添加一个数字。应该发生的是,当数据库中没有数据时,这个脚本将插入ID编号为1的第一行,但问题是它无法工作。
我认为我对空数据的检查是一个问题,你们中的一个可以帮助我指出我应该做什么。
我的代码
<?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++;
}
?>发布于 2013-01-22 09:52:06
正在执行的查询
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);发布于 2013-01-22 10:07:11
您必须重置自动增量字段ID,以便在表为空时插入1。
https://stackoverflow.com/questions/14455642
复制相似问题