不能将数据插入到包含自动递增主键的表中使用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

回到顶部