Запрос ч/з phpmyadmin выполняет, а из скрипта выдаёт ошибку =(

NemesiS

Новичок
Запрос ч/з phpmyadmin выполняет, а из скрипта выдаёт ошибку =(

Есть запрос:

SELECT * FROM `blocks` WHERE `position` = 'skin1' AND `active` = '1' AND (`language` = 'all' OR `language` = 'lang_russian_ru.php') AND (`expire` > '1143201982' OR `expire` = '0') ORDER BY `ordering` ASC

Из phpMyAdmin всё нормально, а если из скрипта, то mysql ругается.

Либо у меня глюки, либо ещё что...

P.S.: Версия MySQL: 4
 

Andreika

"PHP for nubies" reader
>то mysql ругается.
блин... ну нафик рассказывать о своей тяжелой жизни, писать версию MySQL и не написать текст ошибки (mysql_error() )
 

NemesiS

Новичок
> и не написать текст ошибки (mysql_error() )

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 'Resource id #12' at line 1

Я не думаю, что помогло...
 

Andreika

"PHP for nubies" reader
сие означает, что ты на самом деле используешь не такой запрос, как указал в начале.. а заменил часть текста переменной.. причем явно натупил с ее типом..

перед выполнением выведи этот запрос в браузер (echo)
 

NemesiS

Новичок
Я тебе его и написал.
Не натупил:
Переменные были:
'skin1' - string
'lang_russian_ru.php' - string
'1143201982' - integer

И я сказал, что его я в phpMyAdmin вставлял - всё ОК!
А пишу
mysql_query("Даже запрос скопированный из MyAdmin'a ")
You have error... Тьфу!
 

tony2001

TeaM PHPClub
>Я не думаю, что помогло...
очень даже.
это означает, что ты мануал не прочел.
 

Andreika

"PHP for nubies" reader
NemesiS
код PHP с ЭТИМ запросом + код, присваивающий значения переменным в этом запросе сюда плиз...
и сразу же echo этот запрос и тоже сюда..
и echo mysql_error тоже сюда
 

NemesiS

Новичок
Я его в своё время вдоль и поперёк перебродил!

P.S.: я фигею! Даже на SELECT * FROM `bla` ругается теми же словами!
 

NemesiS

Новичок
PHP:
function Bla($pos="")
{
$lang = $user['lang']; // $user['lang'] - из mysql varchar(255)
$res = mysql_query("SELECT * FROM `blocks` WHERE `position` = '".$pos."' AND `active` = '1' AND (`language` = 'all' OR `language` = '".$lang."') AND (`expire` > '1143201982' OR `expire` = '0') ORDER BY `ordering` ASC");

while($temp = mysql_fetch_array(...
-~{}~ 24.03.06 18:57:

Мне просто интересно: какого она запрос назад выдаёт инфу о юзере, а на следующий орёт!
 

Andreika

"PHP for nubies" reader
NemesiS
опять код левый..
а теперь вместо
$res = mysql_query("SELECT ..

сделай
$sql = "SELECT ...";
echo $sql;
$res = mysql_query($sql); и результат сюда
 

tony2001

TeaM PHPClub
Andreika
а какая разница?
ты что, не видишь, что он в принципе дает другой код?
он суёт ресурс коннекта вместо запроса и думает, что будет работать.
в ман однозначно.
 

NemesiS

Новичок
Andreika, опять про другое!
Я уже вводил по всякому и из переменной, её перед этим ч/з echo проверял. Вот этот запрос я и в myAdmin вставлял, и здесь написал...
Я не понимаю почему она мне на простой запрос без условий тоже ругается (?), т.е. на SELECT * FROM `bla`!!!
Ошибка одна и таже: You have... to use near 'Resource id #12' at line 1.!

-~{}~ 24.03.06 19:09:

tony2001, и что же я не то пишу в SELECT * FROM `bla`?
 

Andreika

"PHP for nubies" reader
tony2001
дык не сомневаюсь даже )

NemesiS
вы блин как на базаре.. торгуетесь еще - это дам, это не дам, покажу код, но другой...
в общем - не знаю я в чем там проблема.. можно базу переустановить попробовать, и апач с пхп.. и винду.. и винт поменять, оперативки побольше поставить и проц помощнее.. удачи
 

NemesiS

Новичок
Andreika, спасибо за попытку помочь.
Я файл создал отдельный уже!
И в нём написал: Bla($pos)...
Следом вызов этой функции.

В файле, в который я его вкладываю перед этим запрос
PHP:
$sql->query("SELECT * FROM `".$prefix."_banned` WHERE (`type`='ip' AND `value` = '".$_SERVER['REMOTE_ADDR']."') OR (`type`='login' AND `value` = '".$user['login']."') LIMIT 1;");
if($ban = $sql->fetch_array())
{
	if(($_SERVER['REMOTE_ADDR']==$ban['value']) || ($user['login'] == $ban['value']))
	{
		die(header("location: error.php?banned"));
	}
И что я не то даю?
 

tony2001

TeaM PHPClub
последняя попытка:
<?php
$c = mysql_connect("сервер", "логин", "пароль");
$s = mysql_query("SELECT VERSION()");
var_dump(mysql_fetch_row($s));
?>
что выдает?
 

tony2001

TeaM PHPClub
как видишь, всё работает нормально.
ошибка у тебя в коде, т.к. (как я уже сказал) ты вместо текста запроса передаёшь в mysql_query() ресурс коннекта.
где именно ошибка - ищи сам.
 

NemesiS

Новичок
Ступил. Признаю. Поступил как последний ламер. Как юзверь недоделанный. Простите, и спасибо всем кто пытался помочь.

Наверное со мной правда сегодня что-то не то! Я перенабрал запрос символ в символ и всё заработало... %)
 
Сверху