我正在尝试在数据库中的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++;
}

?>

最佳答案

您正在执行的查询

INSERT INTO poiinfo('ID') VALUES ('$nId')


将最有可能失败,因为columnname用单引号引起来。报价应重新删节或用反引号代替,例如

INSERT INTO poiinfo(ID) VALUES ('$nId')


要么

INSERT INTO poiinfo(`ID`) VALUES ('$nId')


所以问题是,何时使用反引号?您使用的是MySQL的保留关键字列表中的名称,


MySQL Reserved Keywords List


最后,您必须在mysql_query()中传递包含查询的变量

mysql_query($addId);

07-24 18:28
查看更多