Неизвестный столбец в "списке полей", в дБ, после изменения имени поля

У меня есть веб-сайт, который использует базу данных (www.eqtraders.com) Он работает с PHP и MySQL

Похоже, что хост недавно обновил PHP и теперь " yield " является predefined keyword в PHP. Итак... Я пошел везде и изменил все поля поля yield на r_yield. Затем я изменяю имена полей базы данных на r_yield,

Я уверен, что код отправляет следующий запрос:

INSERT INTO recipes (item_id, r_yield, tradeskill, restriction, triv_low, triv_high, date_added, triv_display) VALUES ("51998", "1", "Spell Research", NULL, "432", "432", "2015:11:04", "432")

И за это я получаю ошибку:

Неизвестный столбец "r_yield" в "списке полей", в db: recipes

PHPMySQL сообщает, что имена полей r_yield (есть две таблицы, отличные от рецептов, которые также необходимо изменить)

Скриншот PHPMyAdmin с изменением имени. Поле 3

У кого-нибудь есть какие-либо советы по поводу того, что мне может понадобиться?

1 ответ

Решение

В вашем примере кода использование "item_id" и "r_yield" не очень понятно, они могут быть либо константами, либо строками.

Проблема лежит на стороне PHP. Я предлагаю:

  • Вы переименовываете столбцы в таблице MySQL обратно на "yield", поскольку их не нужно было изменять, во-первых, "yield" - это ключевое слово PHP, а не ключевое слово MySQL.

  • Вы используете одинарные кавычки в своем PHP-коде для строк:

    $rs = $data['item_id'];
    $rs_temp_data['item_id'] = $rsdata['item_id'][$i];
    $rs_temp_data['yield'] = $rsdata['yield'][$i];
    
Другие вопросы по тегам