Рейтинг:0

mysql не вставляется через php cli

флаг ru
Ben

У меня есть простой php-скрипт, который запускается из cli. Я пробовал много разных вариантов кода mysql, но, несмотря на это, строка не вставляется в базу данных, хотя php говорит, что это...

<?php
$link = mysql_connect('localhost', '***', '***');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('***');

mysql_query("INSERT INTO email_log (to, from, subject, headers, message, source) VALUES ('1','2','3','4','5','6')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

php test.php возвращает Последняя вставленная запись имеет идентификатор 0 и те же скрипты безупречно работают через веб-браузер.

Что я пробовал:

  • Я изменил владельца файла на пользователя, который может повлиять на это.
  • 4-5 различных кодов INSERT
vautee avatar
флаг kr
Добавьте дополнительную информацию к вашему вопросу. Например, вывод DESCRIBE email_log Также извлеките любые ошибки, которые может вызвать mysql_query, см. пример № 1 в https://www.php.net/manual/en/function.mysql-query.php.
флаг in
PHP5 был [конец жизни с 2018 года] (https://www.php.net/eol.php). Используйте поддерживаемую версию PHP.
Ben avatar
флаг ru
Ben
Привет, Джеральд, спасибо за ответ... Я переключился на другую установленную версию 7.0. Та же проблема... В error.log ничего не сообщается. Сделал эхо, чтобы отправить по электронной почте строку, которую нужно вставить, и отправить по электронной почте в порядке ... Конфликт между cli и mysql ?? Я запускал сценарии yest, кажется, что он подключается, он просто полностью игнорирует фактическую вставку.
Рейтинг:0
флаг ru
Ben

ВАУ... как необычно... Никаких сообщений об ошибках, но я сделал гораздо больше копаний и устранения неполадок, чтобы выяснить, что имена строк "TO", "FROM" и "SOURCE" находятся в ограниченном/зарезервированном списке MYSQL.

https://dev.mysql.com/doc/refman/8.0/en/keywords.html

vidarlo avatar
флаг ar
Урок? Не ожидайте, что mysql_query сработает. Убедитесь, что он работает, проверив, возвращает ли он ошибку. Предположения - мать всех промахов.
Рейтинг:0
флаг ua
  • Делать нет использовать mysql_* интерфейс на PHP. Делать использовать mysqli_* вместо. (Или используйте PDO.)

  • Делать получить сообщение об ошибке и отобразить его.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.