我可以连接,但是当涉及准备好的语句时,我得到了错误。有什么问题吗?
代码:
// Open connection
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
//check connection
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
// Create statement object
$stmt = $db->stmt_init();
// sql statement
$sql = "INSERT INTO ch_users ('uid','admin','password','directory','size','format','locationid') VALUES (?, 1, ?, ?, ?, ?, 1)";
// Create a prepared statement
$stmt = $db->prepare($sql) or die($db->error());
答案 0 :(得分:8)
对于那些偶然发现此页面的人。
您从
获得的错误Fatal error: Call to undefined method mysqli::error()
这是因为我们需要以变量而不是功能
来访问错误所以正确的代码是
if(! empty( $mysqli->error ) ){
echo $mysqli->error; // <- this is not a function call error()
}
希望这有助于某人。
答案 1 :(得分:-1)
我的不好,列字段的sql语句中不应该有引号。现在它有效!