Я пытаюсь вызвать функцию для обновления mysqli db и отчитываться, если произошла ошибка. У меня есть это в моем тестовом файле до сих пор:Отчет об ошибках в MYSQLi для неизвестного индекса
<?php
$success = test("cat",17);
echo $success;
echo "<br />";
function test($name, $number){
$db = new mysqli("localhost","root","","test");
if($db->connect_errno){
return "Failed to connect to MYSQL Database: [" . $db->connect_errorno . "]" . $db->connect_error;
}
if(!($stmt = $db->prepare("UPDATE `test` SET `name` = ? WHERE `number` = ?"))){
return "prepare failed: [" . $db->errno . "]" . $db->error;
}
if(!($stmt->bind_param('si', $name, $number))){
return "bind failed: [" . $db->errno . "]" . $db->error;
}
if(!($stmt->execute())){
return "execute failed: [" . $db->errno . "]" . $db->error;
}
$stmt->close();
return "Successfully updated database!";
}
?>
и с тестом у меня есть (кошка, 17) он возвращает успех, даже если нет столбца с номером 17, и я не вижу ничего изменение в базе данных. Как я могу заставить его правильно вернуть сбой, если он не может найти номер в предложении WHERE?
запрос, который не изменяет никаких записей, или не возвращает ни одной строки, это ** НЕ ** «провал» , это просто пустой набор результатов. –