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

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

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

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

Заранее благодарен за ответ!
  • Вопрос задан
  • 2376 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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();

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽