将autoincrement id mysql插入mysqli

时间:2015-02-09 11:26:59

标签: mysqli

首先:我在google和stackoverflow中搜索:在mysql中插入自动增量ID,found this on SO but it was not helpful。我找到的其他所有内容都是针对mysqli-> insert_id; 如果我错过了寻找解决方案的一点,我会在评论中使用正确的链接。

我正在尝试将旧的mysql_ -functions“翻译”为mysqli _ 函数。

假设我的旧查询是:

mysql_query("INSERT INTO `bugtracker` 
        (`id`, `date`, `workerid`, `currURL`, `prevURL`, `bugTitle`, `bugDesc`) VALUES 
        (NULL, '".time()."', '$worker', '$clean[currURL]', '$clean[prevURL]', '$clean[bugTitle]', '$clean[bugDesc]');");

理解: ($clean[currURL] = mysql_real_escape_string($_POST['currURL']);

新的必须是这样的:

$query = "INSERT INTO `bugtracker` (`id`, `date`, `workerid`, `currURL`, `prevURL`, `bugTitle`, `bugDesc`) VALUES (?, ?, ?, ?, ?, ?, ?)";
    $statement = $mysqlicon->prepare($query);
    $statement->bind_param('iiissss', 'NULL??', time(), $worker, $_POST['currURL'], $_POST['prevURL'], $_POST['bugTitle'], $_POST['bugDesc']);

$statement->execute();
$statement->close();

问题:无论如何我没有尝试运行我的查询,因为我很好奇我应该如何将之前的“NULL”插入mysqli中的自动增量ID。我应该忽略并将其留空吗?请勿在{{1​​}}和$query中显示它?

表结构按此顺序排列: bind_param(int11),id(int11),date(int11),workerid(varchar),currURL(varchar),prevURL (varchar),bugTitle(文本)

1 个答案:

答案 0 :(得分:2)

请勿在语句中指定此列(id)。