Как создать правильно mysq-запрос

программирование php MySQL базы данных

У меня есть таблицы, надо UPDATE составить так, чтобы проходила скачала проверка и если пусто то записывало, а если запись существует - то переписывало.
Вы сильно только меня тут не ругайте, я ещё только начал учиться

Вот пример котрый я наваял

$sql = "UPDATE avto SET vodila = ".($id > 0 ? $id : "null")" WHERE vod_id = " . $avt->id;

Вы можете не переписывать, просто подскажите как лучше сделать, я сам прочитаю

Примечание:
Тут смысл такой, чтобы машины за разными водилами закрплять. Да в приципе это и не важно, можно яблоки по разным корзинам раскладывать. Вот и думаю как проверить и записать.
Погуглил и нашёл такой пример. Показалось что очень приемлимо. Проверить только не могу.
Знаю что есть такие функции как: mysql_error(), mysql_errno() но не могу ещё правильно применять.
Ответы:
Одно дело если в записи (существующей записи) пусто. Другое дело если записи просто нет такой.
Из твоего вопроса не понятно как у тебя дела обстоят.
Для начала надо убедится, есть ли в базе записи с подобными параметрами. Для этого выполняем SELECT запрос. Если запись есть, то выполняем UPDATE, если нет - INSERT. В качестве примера привожу фрагмент кода редактирования зависимости категорий. Идея должна быть понятна. Для работы с сервером mysql используйте php-библиотеку mysqli.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.