, или в PHP 7.2 или новее:
Это уведомление возникает, когда токен используется в коде и представляется константой, но константа с этим именем не определена.
Одной из наиболее распространенных причин этого уведомления является отказ от цитирования строки, используемой в качестве ассоциативного массива.
Например:
// Wrong
echo $array[key];
// Right
echo $array['key'];
Другие распространенные причины отсутствует значок $
(доллар) перед именем переменной:
// Wrong
echo varName;
// Right
echo $varName;
Или, может быть, у вас есть некорректная другая константа или ключевое слово:
// Wrong
$foo = fasle;
// Right
$foo = false;
Он также может быть признаком того, что необходимое расширение или библиотека PHP отсутствует при попытке доступа к константе, определенной этой библиотекой.
Вопросы, относящиеся:
Я не уверен, но я собираюсь предположить, что Вы используете таблицу INNODB, и Вы не сделали фиксации. Я полагаю, что MySQLdb включают транзакции автоматически.
Вызов conn.commit()
прежде, чем звонить close
.
От FAQ: Запуск с 1.2.0, MySQLdb отключает автоматическую фиксацию значением по умолчанию
MySQLdb имеет автоматическую фиксацию прочь по умолчанию, которая может сбивать с толку сначала. Ваше соединение существует в своей собственной транзакции, и Вы не будете в состоянии видеть изменения, которые Вы вносите от других соединений, пока Вы не фиксируете ту транзакцию.
можно или сделать conn.commit()
после оператора обновления, как другие указали или отключают эту функциональность в целом установкой conn.autocommit(True)
прямо после создания объекта соединения.
Необходимо фиксировать изменения вручную или включить автоматическую фиксацию.
причина ВЫБОР возвращает измененный (но не сохранился), данные - то, потому что соединение находится все еще в той же транзакции.
Я нашел, что коннектор Python автоматически выключает автоматическую фиксацию, и там, кажется, не способ изменить это поведение. Конечно, можно снова включить его, но тогда рассмотрение журналов запросов, это глупо делает два бессмысленных запроса после подключения для выключения автоматической фиксации затем обратно на.