PDOStatement - Использовать серьезные акценты (`) в столбцах? - PullRequest
1 голос
/ 22 января 2011

Глядя на руководство по PHP, в любое время не предлагается включать в столбцы серьезные акценты.

Например: недавно я пытался запустить следующую функцию:

 $pdo->prepare("UPDATE name_table SET convert= :convert, payment = :payment WHERE id = :id") 

После неоднократных попыток обновить данные в MySQL, я заметил, что функция CONVERT является функцией нативного MySQL.

Поэтому после этого поставьте галочки в столбцах иработал:

$pdo->prepare("UPDATE name_table SET `convert`= :convert, `payment` = :payment WHERE id = :id") 

Кто-нибудь считает, что серьезные акценты не являются существенными для объекта PDOStatements?Только что попробовал MySQL, но не знаю, действительно ли полезно использовать backticks для дальнейшего изменения базы данных.

Ответы [ 2 ]

3 голосов
/ 22 января 2011

Я полагаю, что обратные пометки не требуются и не упоминаются, поскольку они характерны для mysql, а PDO был разработан для использования с любой RDMS.

2 голосов
/ 22 января 2011

Как вы сами сказали, ваш запрос не работал, потому что CONVERT - это зарезервированное слово в mySQL, и всякий раз, когда используются имена столбцов, которые являются зарезервированными словами - или имеют другие странные характеристики, -заверните их в спину.

Нет вреда в использовании обратных галочек для каждого столбца и имени таблицы.Только не используйте их на данных - это не работает.Вместо данных используйте кавычки.

Редактировать после ответа @ Бо: Обратите внимание, что это относится только к mySQL!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...