нужно проверить, был ли SQL-запрос успешным

У меня есть этот запрос, и если он возвращается успешно, я хочу, чтобы другая функция обрабатывала, если нет, не обрабатывать эту функцию.

Вот код для запуска запроса

global $DB; $DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'"); 

Я думаю, это что-то вроде …

 if($DB) { //success } else { //failure } 

Related of "нужно проверить, был ли SQL-запрос успешным"

Это самый простой способ проверить

 $query = $DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'"); if($query) // will return true if succefull else it will return false { // code here } 

mysql_affected_rows

Я понимаю, что, говоря «успешно», вы хотите знать, обновлены ли какие-либо строки. Вы можете проверить это с помощью этой функции.

Если вы используете PDO -> http://www.php.net/manual/en/pdostatement.rowcount.php

 if ($DB->rowCount() > 0) {/* Update worked because query affected X amount of rows. */} else {$error = $DB->errorInfo();} 

если значение равно 0, то это было неудачно, но если 1 затем успешно.

 $this->db->affected_rows(); 
 global $DB; $status = $DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'"); if($status == false) { die("Didn't Update"); } 

Если вы используете mysql_query в бэкэнд (какой бы mysql_query базу данных), он вернет TRUE или FALSE для INSERT , UPDATE и DELETE (и нескольких других) команд на основе их положение дел.

 if ($DB->query(...)) { success } else { failure } 

запрос должен возвращать false при сбое (если вы используете mysql_query или $ mysqli-> query). Если вы хотите проверить, действительно ли запрос UPDATE сделал что-либо (что совсем другое, чем «успешное»), используйте mysql_affected_rows или $ mysqli-> affected_rows

Это доказало самый безопасный механизм для проверки на отказ при вставке или обновлении:

 $result = $db->query(' ... '); if ((gettype($result) == "object" && $result->num_rows == 0) || !$result) { failure } 

если вы не используете формат -> , вы можете сделать это:

 $a = "SQL command..."; if ($b = mysqli_query($con,$a)) { // results was successful } else { // result was not successful }