Подтвердить что ты не робот

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

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

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

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

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

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

Ответ 1

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

$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
}

Ответ 2

mysql_affected_rows

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

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

Ответ 3

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

Ответ 4

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

$this->db->affected_rows();

Ответ 5

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 в бэкэнд (независимо от того, что $DB->query() использует для запроса базы данных), он вернет TRUE или FALSE для INSERT, UPDATE и DELETE ( и некоторые другие), команды, основанные на их статусе.

Ответ 6

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

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

Ответ 7

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

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

Ответ 8

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

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