2012-08-14 94 views
2

我可以连接,但是当涉及到准备语句,这是我得到的错误。有什么不对?致命的错误:调用未定义的方法mysqli :: error()

代码:

// 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

我不好,不应该有在列字段的SQL语句的报价。现在它工作了!

6

对于那些偶然发现在这个页面上的人。

Fatal error: Call to undefined method mysqli::error() 

此得到的错误是因为我们需要访问误差变量没有功能

所以正确的代码是

if(! empty($mysqli->error)){ 
    echo $mysqli->error; // <- this is not a function call error() 
} 

希望这可以帮助某人。

相关问题