我可以连接,但是当涉及到准备好的语句时,这是我得到的错误。 那里有什么问题吗?
法典:
// 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());
对于那些偶然发现此页面的人。
您从中得到的错误
Fatal error: Call to undefined method mysqli::error()
这是因为我们需要将错误作为变量而不是函数访问
所以正确的代码是
if(! empty( $mysqli->error ) ){
echo $mysqli->error; // <- this is not a function call error()
}
我的错,列字段的 sql 语句中不应该有引号。现在它工作了!