Просмотр поста

.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
ars-morozov (13.01.2011/22:28)
У меня тоже вопрос:
А чем отличается вот эти записи:
SELECT*FROM `table` WHERE `pole`='$x'
от
SELECT`FROM `table` WHERE `pole`='" . $x . "'
?
И как лучше писать?
Хороший вопрос и отвечу на него подробно...
---
Как ты мог заметить. я всегда предпочитаю одинарные кавычки, я уже писал, почему (меньше нагружает сервер), да и филин правильно заметил.
---
Но в твоем примере, мы имеем дело с SQL запросом, а тут картина иная...

Если взять за основу язык SQL в чистом виде, то значения полей там выделяются именно ОДИНАРНЫМи кавычками.
К примеру:
WHERE `field`='$val'

Посему, если мы хотим сохранить читабельность SQL кода, мы не можем строку запроса заключать в одинарные кавычки, ибо они уже используются внутри запроса.
То есть. мы используем двойные.

Ну а раз двойные, РНР в этой строке интерпретирует все переменные со знаком $
Соответственно, нам не нужно писать
`pole`='" . $x . "'
а можно просто
`pole`='$x'
все равно ведь кавычки двойные...
З.Ы.
Я сам раньше в старых версиях выделял, но потом когда осознал, стал вставлять переменные напрямую, без выделения.