我正在处理一个有 4 列的表,第一列是一个名为 id 的自动递增整数。
如果我要使用 mysqli 准备好的语句插入到这个表中,我在插入有效的查询时会遇到问题。使用 phpMyAdmin 它告诉我给它NULL。我试过这个:
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES ('NULL', ?, ?, ?)";
$stmt -> bind_param("ssi", $col2, $col3, $col4)
还有这个
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES (NULL, ?, ?, ?)";
$stmt -> bind_param("ssi", $col2, $col3, $col4)
并且只给 bind_param 3 个参数(最后 3 个)。这些都不起作用。我也试过这个:
$null = NULL;
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES (?, ?, ?, ?)";
$stmt -> bind_param("issi", $null, $col2, $col3, $col4);
这些都不起作用。有没有标准化的方式插入到这种类型的表中?
最佳答案
只需跳过id
字段,MySQL会自动填充:
$query = "INSERT INTO tbl (col2, col3, col4) VALUES (?, ?, ?)";
$stmt->bind_param("ssi", $col2, $col3, $col4)
关于php - 向具有 auto_increment 列的表中插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227188/