В общем, на одном ресурсе, я у меня завязался спор с несколькими людьми о правилах хорошего тона в написании SQL запросов в php функциях.
1.
Я говорю что правильнее писать запрос в двойных кавычках:
mysql_query("SELECT * FROM `tbl`");
2.
Собеседник же говорит обратное:
mysql_query('SELECT * FROM `tbl`');
Я считаю, что при написании запросов в одинарных кавычках, могут возникнуть траблы.
А как считаете Вы? В каких кавычках стоит писать SQL запросы?
Это написание ковычек в функциях php а не sql. Первый вариант просто удобнее, не нужно смотреть за ковычками внутри запроса. А так разницы нет вроде
30 Дек 2011, 23:03Elime, "Я считаю, что при написании запросов в одинарных кавычках, могут возникнуть траблы. " - Если криво составлять запрос то не только в SQL могут возникнуть проблемы.
А так удобнее юзать первый вариант, если имеются переменные.
D.T.S, Может не правильно выразился, хотел сказать что во втором случае легко ошибиться в запросе.
30 Дек 2011, 23:12В правилах хорошего тона писать так, как принято в команде. Но, если проект будет переходить из рук в руки (а оно так и будет), то стоит писать 1й вариант. Более того, я вообще не вижу особого смысла заниматься секасом с одинарными кавычками вообще нигде в php. Они нужны разве что когда у вас пара килобайт plaintext... но никто в здравом уме не хранит столько текста в теле скрипта.
Первый вариант позволит писать более clean&readable code, который человеку который придет после вас не составит труда просто прочитать, а не заниматься тем, чем должен заниматься сервер, тобишь ему не придется интерпретировать ту кашу которую вы напишете используя одинарные кавычки.
"SELECT `id`,`name`, `count`-$tcount `count` FROM `$table` t JOIN `$table2` t2 ON t.id=t2.t_id WHERE `field`='$content' AND `text` LIKE '%$like_content%'"
читается явно лучше чем
'SELECT `id`,`name`, `count`-'.$tcount.' `count` FROM `'.$table.'` t JOIN `'.$table2.'` t2 ON t.id=t2.t_id WHERE `field`=\''.$content.'\' AND `text` LIKE \'%'.$like_content.'%\''
Во втором случае мы получаем феерический bulsheet with single quotes, dots & slashes. После чтения подобной ерунды, хочется встать, подойти и высыпать ведро навоза на стол писателя создавшего сей бред, дабы он тоже почувствовал, как это... читать код индийских коров.
san, после того, как вижу подобный код, то лишний раз убеждаюсь в том, что я не худший программист в этой стране))
31 Дек 2011, 0:52san, код игнайтер, если я не ошибаюсь, говорит что-бы все было в одинарных кавычках. 