我知道我有与数据库的连接,并且我使用没有自动增量ID的测试对我来说很好。下面的代码拒绝工作,我无法找到解决方法。我的表有3列,ID(自动增量),名称和值。 我需要更改什么才能使其工作?
提前致谢
//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();
答案 0 :(得分:3)
不推荐使用mysqli_bind_param,它只是mysqli_stmt_bind_param的别名,mysqli_stmt_bind_param要求绑定类型为字符串而不是数组。所以只需更改该行。
mysqli_stmt_bind_param($stmt, 'si', $name, $value);
答案 1 :(得分:0)
我建议您使用PDO(http://ar2.php.net/PDO)。它是面向对象的不同数据库接口,它具有更清晰的语法,并从RDBMS中抽象出来;)