Intereting Posts
Как обновить книгу заказов poloniex через push api (протокол WAMP) Как запустить PHP exec () как root? PHP-эквивалент .net AES-шифрование Как передать параметры шаблону PHP, представленному с помощью 'include'? Подключение базы данных PHP OOP Получить данные из файла JSON с помощью PHP Как узнать, подключен ли пользователь к веб-сайту с помощью баз данных, базирующихся на php и mysql? PHP – добавление ссылки на URL-адрес в строке Как использовать переменные PHP в качестве значений тега <script> при рендеринге кода jQuery в представлении CakePHP? Как отправить данные формы с моего сайта на мой адрес электронной почты? Удалить последние две цифры имени файла Не удалось получить символы с акцентом UTF-8 из Access через PDO_ODBC Как создать PDF из HTML с помощью классов начальной загрузки CSS как избежать заголовка электронной почты Получено: от неизвестно, а электронная почта – спам Использование вектора инициализации в openssl_encrypt

mysql_insert_id с обновлением

После выполнения запроса ниже я использую функцию PHP mysql_insert_id() и он всегда дает мне 0.

 UPDATE tbl_training_types SET fld_serial = $serial_no, fld_name = $training_name, fld_description = $training_description WHERE fld_id = $id 

Когда вы обновляете заметку в базе данных, у вас уже есть что-то, что вы можете ее идентифицировать. В вашем примере у вас уже есть $id который должен содержать значение данных, которые вы недавно обновили. Если у вас нет id и вы пытаетесь обновить имя или что-то другое после обновления, вы можете просто получить обновленные данные простым запросом:

 select * from table_name where your condition 

Примечание: функции mysql_* устарели и не будут поддерживаться в будущих версиях. Вы должны использовать mysqli_* или PDO .

Возвращаемые значения

Идентификатор, сгенерированный для столбца AUTO_INCREMENT предыдущим запросом об успехе, 0, если предыдущий запрос не генерирует значение AUTO_INCREMENT, или FALSE, если соединение MySQL не установлено.

Исходное руководство PHP