[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_query
PiratXXX
Добрый вечер!!!
Уважаемые профи и знатаки!
Такая проблема как правильно составлять в php запрос к mysql. Потому что один составишь вроде работает, а второй по анологи ошибки какието!

Видел такое:

//первый вариант (но читал что это вроде не правильно)
$a = "SELECT * FROM tabte";
$b = mysql_query($a);
//второй вариант
$a = mysql_query("SELECT * FROM tabte");
//ответьте как правьльно и еще встречал что заключают в одинарные кавычки или апостофы-имя таблицы и т.п. прошу раскажите все по этому поводу

и как правильно включать переменную в запрос(например):

"SELECT * FROM table WHERE login=".$login.""


И что означает эта ошибка(гуглил какието там решения были но не помогло) и вообще так и не понял что она означает! вот:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\WebServer\www\site\chat\config.php on line 49

Заранне всем огромное спасибо!!!!!!!!!
Помогити пожалуйста!!!!!!!!!!!!!



Спустя 9 минут, 49 секунд (3.09.2010 - 20:59) waldicom написал(а):
$query = "SELECT * FROM table WHERE login='" . $login . "'";

Спустя 13 минут, 5 секунд (3.09.2010 - 21:12) PiratXXX написал(а):
waldicom
а как мне ПРАВИЛЬНО оформить такой запрос:

$Spot = "chat_room";
$FromRec = 20;//какое-то число
$CountMassageOnpage = 5;//кокае-то число
$Where = "WHERE room_id='".$_GET['room_id']."'";

$query = mysql_query("SELECT * FROM `".$Spot."` ORDER BY `date&time` DESC LIMIT `".$FromRec."`,`".$CountMassageOnpage."` `".$Where."`");


ну вообщем в чем у меня ошибки тут??

Спустя 6 минут, 59 секунд (3.09.2010 - 21:19) waldicom написал(а):
Думаю, что переменную $Where надо поставить в правильное место.
Общий вид
SELECT <fileds> FROM <table> WHERE <conditions> ORDER BY <fields> LIMIT <start, offset>

Спустя 14 минут, 54 секунды (3.09.2010 - 21:34) PiratXXX написал(а):
waldicom ,
ага спасибо вот с этими всеми кавычками и опострафами все правильно, вообще когда и какие надо ставить и зачем, что означают объясни пожалуйста если оне сложно объясни, и если есть время! спасибо!

Спустя 5 минут, 19 секунд (3.09.2010 - 21:39) waldicom написал(а):
Обычные кавычки, а именно вот такие
Цитата
'

ставятся для значений полей
Обратные, а именно
Цитата
``

ставятся для названий таблиц и полей.

Спустя 8 часов, 44 минуты, 46 секунд (4.09.2010 - 06:24) Michael написал(а):
Цитата
//первый вариант (но читал что это вроде не правильно)
$a = "SELECT * FROM tabte";
$b = mysql_query($a);
//второй вариант
$a = mysql_query("SELECT * FROM tabte");

А какая между ними разница? Мне первый больше нравится.

Цитата
и как правильно включать переменную в запрос(например):

читаем про безопасность там где пункт 2, sql иньекции

Цитата
И что означает эта ошибка(гуглил какието там решения были но не помогло) и вообще так и не понял что она означает! вот:
Warning: mysql_fetch_array() expects parameter 1 to be resource

Это означает что запрос с ошибкой, а ты пытаешься что-то выбирать. Делай так:
$a = "SELECT * FROM tabte";
$res = mysql_query($a);
if ($res) {
// вот тут выбираем
} else {
// сообщаем об ошибке. На момент отладки например:
die('Ошибка:' . mysql_error());
}

Цитата

$query = mysql_query("SELECT * FROM `".$Spot."` ORDER BY `date&time` DESC LIMIT `".$FromRec."`,`".$CountMassageOnpage."` `".$Where."`");

ну вообщем в чем у меня ошибки тут??

Про where сказали, но еще ты вроде все что мог заключил в ``, что не верно. По сути в `` надо оборачивать только названия полей таблицы(или назв. самой таблицы) которые имеют некорректный синтаксис для sql. Типа твоего `date&time` или например `select`. Но многие заключают все поля в такие кавычки. Лично я в этом не вижу смысл если база спроектирована самим разработчиком и правильно именована.


Спустя 3 часа, 59 минут, 44 секунды (4.09.2010 - 10:24) twin написал(а):
Цитата
А какая между ними разница? Мне первый больше нравится.

а почему?


_____________
http://flibro.com/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.