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 :: Ошибка

 PHP.SU

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


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

> Без описания
event
Отправлено: 22 Января, 2012 - 14:07:26
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


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




Привет.
Есть такой запрос
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM text WHERE page = ".$_SERVER['PHP_SELF']."") or die(mysql_error());
  2. $row = mysql_fetch_array($result);
  3.  


Но выдает ошибку,
CODE (text):
скопировать код в буфер обмена
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/1.php' at line 1


Где я накосячил?
 
 Top
caballero
Отправлено: 22 Января, 2012 - 14:39:29
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




одинарные кавычки забыл


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
event
Отправлено: 22 Января, 2012 - 14:59:19
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


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




caballero
Пробовал и так, и сяк.

Если можешь кинь готовый запрос, с меня +

(Отредактировано автором: 22 Января, 2012 - 14:59:34)

 
 Top
PATCH
Отправлено: 22 Января, 2012 - 15:03:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


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




PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM text WHERE page = ' ".$_SERVER[PHP_SELF]." ' ") or die(mysql_error());
они имеет ввиду так
 
 Top
event
Отправлено: 22 Января, 2012 - 15:08:39
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


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




Спасибо, работает.
Плюсик тыкнул
 
 Top
caballero
Отправлено: 22 Января, 2012 - 15:10:17
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




event
и возьми привычку не давать полям имена совпадающие с ключевыми словами
text, date,user и т.д.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
event
Отправлено: 22 Января, 2012 - 15:14:56
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


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




caballero, не понял тебя...

PATCH, ошибок не выдает, но делаю
и на страничке ошибок нет, и ничего не выводится.

(Отредактировано автором: 22 Января, 2012 - 15:15:20)

 
 Top
caballero
Отправлено: 22 Января, 2012 - 15:47:00
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
caballero, не понял тебя...

чего не понятного - не давай полям и таблицам имена совпадающие с зарезервированными словами языка SQL. СУБД хоть и догадывается что text у тебя имя таблицы а не тип поля но так писать - неграмотно. А раз уж дал - возьми в апострофы чтобы видно было что это имя и не часть синтаксиса языка

а что данные не выводятся - значит не подпадают под условие where

(Отредактировано автором: 22 Января, 2012 - 15:47:22)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
ZVER3D
Отправлено: 22 Января, 2012 - 15:49:48
Post Id


Новичок


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


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




поля и таблицы бери в `` - вот в такие символы Улыбка
 
 Top
event
Отправлено: 22 Января, 2012 - 16:01:59
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


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




Покажи пожалуйста на моем запросе:
PHP:
скопировать код в буфер обмена
  1.     $result = mysql_query("SELECT * FROM text WHERE page = ' ".$_SERVER[PHP_SELF]." ' ") or die(mysql_error());


А то я пробовал это делать, но толку нет.
 
 Top
PATCH
Отправлено: 22 Января, 2012 - 16:38:16
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


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




PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM 'text' WHERE page = ' ".$_SERVER['PHP_SELF']." ' ") or die(mysql_error());

(Отредактировано автором: 22 Января, 2012 - 16:38:34)

 
 Top
armancho7777777 Супермодератор
Отправлено: 22 Января, 2012 - 17:27:25
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




PATCH пишет:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM 'text' WHERE page = ' ".$_SERVER['PHP_SELF']." ' ") or die(mysql_error());

не верно.
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM `text` WHERE page = ' ".$_SERVER['PHP_SELF']." ' ") or die(mysql_error());

А вместо * лучше перечислить поля. Если даже они все нужны.

(Отредактировано автором: 22 Января, 2012 - 17:29:06)

 
 Top
Самогонщик
Отправлено: 22 Января, 2012 - 17:45:21
Post Id



Посетитель


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


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




armancho7777777 пишет:
А вместо * лучше перечислить поля. Если даже они все нужны.
Чем лучше?
 
 Top
PATCH
Отправлено: 22 Января, 2012 - 17:51:13
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


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




Самогонщик пишет:
Чем лучше?
меньше выборки с бд будет т.к называемая оптимизация) допустим у тебя в бд много записей и ты с бд вытащиш все строки которые совпадают с условием, представь если тебе надо вытащить title и id а ты замест этого вытаскиваеш title, id , vote, text (содержащий допустим в себе текст в 1000 слов в каждой строке по условию) . если 1 пользователь лазит по сайту то не сильно заметно ускорение , а если много пользователей?)
(Добавление)
armancho7777777 пишет:
$result = mysql_query("SELECT * FROM `text` WHERE page = ' ".$_SERVER['PHP_SELF']." ' ") or die(mysql_error());
помойму и с теми и с теми кавычками работает) сча даж прям протещу)
 
 Top
Самогонщик
Отправлено: 22 Января, 2012 - 17:53:45
Post Id



Посетитель


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


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




PATCH, не в тему, в оригинале сказано "Если даже они все нужны.". Именно этот момент меня интересует. Единственное что я могу сказать за перечисление всех полей - это вероятное изменение базы на уменьшение полей, тогда запрос матюкнётся, а не в тихую вытащит нулл + случай когда поля забираются не по имени, а по номеру.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB