我的下一個PHP代碼:mysqli->執行出現錯誤,但沒有輸出錯誤
<?php
mysqli_report(MYSQLI_REPORT_ALL);
$mysqli = new mysqli("localhost","mybd","mypass");
if ($mysqli->connect_errno) { echo "Error connect<br/>"; }
else {
$mysqli->select_db("database1");
if ($result = $mysqli->query("SELECT DATABASE()")) {
$row = $result->fetch_row();
printf("Default database is %s.\n", $row[0]); // shows correct database selected
$result->close();
}
$sentencia = $mysqli->prepare("select pass from users Where name ='ronald'");
echo "Prepare error:".$mysqli->error."<br/>";
if (!$sentencia) echo "<br/>sentencia is null<br/>";
if ($sentencia->execute)
{
$sentencia->bind_result($cpass);
$sentencia->fetch();
echo "Passwd:".$cpass."<br/>";
$con="checkpass";
if (($con!=$cpass) && (md5($con)!=$cpass))
{
echo "OK<br/>";
}
else echo "NO OK<br/>";
}
else echo "<br/>Error execute: ".$mysqli->error;
}
mysqli_report(MYSQLI_REPORT_OFF);
?>
的問題是: - $ mysqli->錯誤顯示什麼。沒有錯誤。總是空的字符串。 - $ sentencia-> execute總是返回null,然後總是回顯「Error execute:」,但沒有關於錯誤的信息。
數據庫選中顯示ok。它選擇正確的數據庫。這是一個例子。真的名字是通過「$ sentencia-> bind_param(」s「,$ user)傳遞的;」但有了這個,我得到了「無對象」的Apache錯誤。 我不知道爲什麼會發生。 SQL被檢查並確定。 謝謝。
它不應該是'$ sentencia-> error',因爲它是語句的錯誤,不DB連接? – Passerby 2013-04-26 10:24:57
嗨。不,你可以在這裏看到:http://php.net/manual/en/mysqli.error.php,但我也嘗試了$ sentencia->錯誤和相同的問題。沒有錯誤。 – briast 2013-04-26 10:31:11
檢查user1602889的回答。 – Passerby 2013-04-26 10:43:30