不能将数据插入到包含自动递增主键的表中使用PHP准备好的语句
我知道我的连接到数据库的工作,并且我没有使用自动递增ID的测试对我来说工作得很好。下面的代码拒绝工作,我无法找到解决办法。我的表有3列,ID(自动增量),名称和值。 为了使这个工作正常,我需要改变什么?不能将数据插入到包含自动递增主键的表中使用PHP准备好的语句
在此先感谢
//create placeholder query $query = "INSERT INTO prepared_test (name, value) VALUES (?,?)";
//prepare the query
$stmt = mysqli_prepare($connection, $query);
$name = 'steve';
$value = 45;
mysqli_bind_param($stmt, array(MYSQLI_BIND_STRING, MYSQLI_BIND_INT), $name, $value);
mysqli_execute($stmt);
if(mysqli_stmt_affected_rows($stmt) != 1)
die("issues");
mysqli_stmt_close($stmt);
$connection->close();
回答:
mysqli_bind_param被弃用,只是mysqli_stmt_bind_param的别名,mysqli_stmt_bind_param预计绑定类型是字符串不是一个数组。所以只要改变那一行。
mysqli_stmt_bind_param($stmt, 'si', $name, $value);
回答:
我建议你使用PDO(http://ar2.php.net/PDO)。这对不同数据库的面向对象的接口,它有一个清洁器的语法和从RDBMS摘要你)
以上是 不能将数据插入到包含自动递增主键的表中使用PHP准备好的语句 的全部内容, 来源链接: utcz.com/qa/266361.html