Когда я готовлю инструкцию с bindValue, метка-заглушка не заменяется, если она окружена одинарными кавычками. Это проблематично, поскольку строки SQL окружены одинарными кавычками, чтобы избежать конфликтов ключевых слов. Посмотрите мои прикрепления со скринами содержимого базы данных после вставки и один раз без одинарных кавычек. Я уже сообщал о bug, но пока я не уверен, если это не просто проблема с кодировкой. Правильно ли использовать одинарные кавычки, т. Е. Если эта работа/это действительно ошибка?Одиночные кавычки запрещают bindValue заменять метку заполнителя
С quoutes Без quoutes
На самом деле я хотел бы просто поверить вам, но не могли бы вы дать мне сложную ссылку? – ManuelSchneid3r
Сложный запрос. Может ли косвенное «доказательство» удовлетворить вас? См. Здесь: http://www.ibm.com/developerworks/library/se-bindvariables/ или http://use-the-index-luke.com/sql/where-clause/bind-parameters. Связанная переменная - это, помимо прочего, защита от инъекций sql. Это связано с тем, что они не просто заменяют их держателей мест. Связанные переменные никогда не выполняются и по этой причине никогда не вступают в конфликт с ключевыми словами SQL. Я не знаю, могу ли я найти лучшие ссылки, чем те, которые были выше. – Greenflow
Ну, я новичок в кодировании базы данных. Я даже не знал, что за bindValue есть этот «огромный» механизм. С ссылкой я думал о qt docs, но так как это, как правило, связано с sql, я полностью удовлетворен. Спасибо, сэр. – ManuelSchneid3r