Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по MySQL - отображение синтаксиса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Webtest
Отправлено: 17 Сентября, 2014 - 15:31:39
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Может не туда пишу, да и вообще, не совсем вопрос, солько хотел поинтересоваться почему так, хотя, такое может быть только у меня в текстовом редакторе? (саблайм 3)
Строка:
PHP:
скопировать код в буфер обмена
  1. $sql = 'SELECT * FROM `comments` WHERE url = "' . $page . '" ORDER BY `curDate` DESC';

Обычно все майСКЛ команды выделяются красным цветом, почему в этом случае после url = "' . $page . '" - ордер бай НЕ выделено красным цветом? Но все равно команда ордер выполняется?
 
 Top
OrmaJever Модератор
Отправлено: 17 Сентября, 2014 - 15:40:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




у меня в саблайме такая же проблема. Он видимо понимает что строка запрос только по первому ключевому слову (SELECT, INSERT, ...), там по-моему даже если пробел перед SELECT поставить то и первая часть не будет распознаваться как sql запрос. В общем дело в редакторе.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Sail
Отправлено: 17 Сентября, 2014 - 17:02:37
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Webtest, можно ведь и так:
PHP:
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM `comments` WHERE `url` = '{$page}' ORDER BY `curDate` DESC"
 
 Top
Webtest
Отправлено: 17 Сентября, 2014 - 18:04:44
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Sail, я как-то привык к точкам, по мне нагляднее, да и ковычки видно куда какие идут.
 
 Top
DelphinPRO
Отправлено: 17 Сентября, 2014 - 19:52:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




лучше делать так

PHP:
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM `comments` WHERE `url` = :page ORDER BY `curDate` DESC";
  2.  
  3. $stmt = $pdo->prepare($sql);
  4. $stmt->execute(['page' => $page]);


И все прекрасно подсвечивается.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Sail
Отправлено: 18 Сентября, 2014 - 08:12:52
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




DelphinPRO пишет:
И все прекрасно подсвечивается.

Угу, потому что вся строка в общих кавычках, без конкатенации Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB