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

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

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

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

Заранее благодарен за ответ!
  • Вопрос задан
  • 2374 просмотра
Решения вопроса 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();

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

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

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект