2017-02-20 5 views
-1

Прошу прощения, если об этом уже был дан ответ, но я не мог найти ничего подобного этому вопросу.Остановить Mysqli от регистрации предупреждений, если данные не найдены в php

У меня есть запрос, что я ищу базу данных, чтобы убедиться, что адрес электронной почты не указан в ней. Если он не указан, он должен перейти по коду. Однако, вместо этого, он просто хранит записи в журнал предупреждений, как это ...

PHP Предупреждение: mysqli_query(): Не удалось получить MySQLi в /home/public_html/index.php на линии 27

Как я могу остановить это, если ничего не найдено?

Вот мой код ...

$result1 = mysqli_query($res, "SELECT sup_id FROM suppressionlist WHERE sup_email = '$email'"); 
$tcount1 = mysqli_num_rows($result1); 
if ($tcount1 != "0"){ 
    /* DO SOMETHING HERE BECAUSE EMAIL WAS FOUND ON LIST */ 
} 
+1

что линия 27? –

ответ

0

Вы можете использовать этот код, чтобы выйти из вашего скрипта, если ничего не было найдено, и отобразить сообщение об ошибке.

$result1 = mysqli_query($res, "SELECT sup_id FROM suppressionlist WHERE sup_email = '$email'") or die(mysqli_error($res)); 
$tcount1 = mysqli_num_rows($result1); 
if ($tcount1 != "0"){ 
    //Do Something 
} 

Однако я настоятельно рекомендую использовать следующий код. Это также позволяет вам что-то делать, если ничего не найдено. Это работает, потому что mysqli_query возвращает false, когда вы получите сообщение об ошибке.

if ($result1 = mysqli_query($res, "SELECT sup_id FROM suppressionlist WHERE sup_email = '$email'")){ 
     //Do something on success 
    } else { 
     //Do something if mysqli_query failed 
    } 

Если вы не хотите использовать еще:

if ($result1 = mysqli_query($res, "SELECT sup_id FROM suppressionlist WHERE sup_email = '$email'")){ 
     //Do something on success 
     die() 
    } 
    //Do something if mysqli_query failed 
+0

JPYamamoto благодарит за помощь. Я буду использовать второй, потому что мне нужно, чтобы он продолжался и не выдавал ошибку. У меня есть один вопрос ... Должен ли я использовать else (или могу ли я просто использовать оператор if, и он продолжит, если не сработает? –

+0

Вы можете использовать только оператор if и записывать остальную часть своего кода без else. Но вы должны использовать функцию die() или exit() в конце вашего if, чтобы предотвратить выполнение скриптом остальной части кода. Пожалуйста, проверьте мой ответ, отредактированный – JPYamamoto

+1

Вы также должны начать использовать подготовленные заявления с заполнителями в своем коде - если вы только начали учиться, сначала узнайте его безопасным способом! http://php.net/mysqli.prepare – Qirel