Задать вопрос
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.

Как правильно обработать SQL запрос?

Всем доброго времени суток!
Есть
$id = mysql_result($res,0,"id") or die(mysql_error());

из базы может быть возвращен и 0, но в таком выбирается die(mysql_error()). Как этого избежать и правильно обрабатывать 0, если он был отдан БД?

Заранее благодарен за ответ!
  • Вопрос задан
  • 2374 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вот некоторые говорят, что я нервный.
Ну как тут не будешь нервным, когда видишь такой обезьяний* код, средоточие греха и порока?
Ну вот как можно умудриться наделать СТОЛЬКО ошибок в одной строчке?
  • за одно die(mysql_error()) надо убивать. кто вас учил вываливать ошибку прямо на экран?
  • мало того - для mysql_result нет ни малейшего смысла выводить mysql_error() - там ничего не будет. Все что могло быть, было на этапе выполнения запроса. Я понимаю, что хомячок, высунув от усердия язычок, старательно переписывает непонятные ему иероглифы. Но отсебятину тоже не надо пороть. Не надо думать, что если ты распространишь or die() на все функции работы с БД, то твой код станет лучше или умнее.
  • мало того - mysql_result - самая уродливая функция этого API, которую не рекомендовали использовать, когда наш песатель кода еще не родился.
  • ну, и как вишенка на торте - само несчастое API, про которое сами разработчики пишут красными буквами: не используйте вы его, ради бога!

Гуга, мальчик мой. Если ты будешь продолжать писать вот это вот всё, то попадешь в ад.
Вот, смотри как на самом деле правильно обработать SQL запрос:
$stmt = $pdo->prepare("SELECT id FROM users WHERE email =?");
$stmt->execute([$email]);
$id = $stmt->fetchColumn();

-----
* от слова "обезьянничать", т.е. повторять некие действия, не понимая их смысла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы