Выдает ошибку: 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 #6' at line 1
при вводе пользователя UFPS все ок, все остальные вызывают ошибку ранее описанную, по выборке по бд, а имено в строке $result = mysql_query("SELECT * FROM users WHERE user='userid'");
Вот код:
страница сессии:
session_start();
session_register("auth");
session_register("userid");
$auth=1;
$userid="$PHP_AUTH_USER";
Страница проверки прав доступа у UFPS полный у остальных userid:
<?
include ("config.inc.php"); //Здесь все коннекты к БД
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
if (!$link)
{
exit ("<P>В настоящий момент сервер базы данных
не доступен, поэтому корректное отображение
страницы невозможно.</P>");
}
@mysql_query ("SET NAMES `cp1251`");
if ($userid=="UFPS")
{
$result = mysql_query("SELECT * FROM users WHERE comment!='' ORDER BY comment"); // это работает!!!!!!
}
else
{
$result = mysql_query("SELECT * FROM users WHERE user='$userid'"); // ошибка вот здесь, но в чем не пойму??????????
$res_sql = mysql_query($result);
if(!$res_sql)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo ("$res_sql");
echo ("$user");
exit();
}
}
echo "<table border=1>\n";
echo "<tr><td><strong>Наименование почтамта</strong></td></tr>\n";
while ($myrow = mysql_fetch_row($result)) // а вот в это сроке ошибку дает в браузере описанную ранее.
{
printf("<tr><td><a href='$vib_poch'>%s</a></td></tr>\n", $myrow[10]);
}
echo "</table>\n";
структура бд:
user :varchar(16);
myrow[10] = varchar(250);
Спустя 1 час, 55 минут, 10 секунд (12.03.2010 - 01:47) Gabriel написал(а):
ет что за ужаСть? зачем запихивать mysql_query в другой mysql_query?
Спустя 1 час, 13 минут, 27 секунд (12.03.2010 - 03:01) qpayct написал(а):
ану марш на курсы Твина, быстро!
Спустя 17 часов, 29 минут, 23 секунды (12.03.2010 - 20:30) zyurik написал(а):
Цитата (Gabriel @ 11.03.2010 - 22:47) |
ет что за ужаСть? зачем запихивать mysql_query в другой mysql_query? |
где? там страница с кодом коряво почему-то отобразилась
это первая:
session_start();
session_register("auth");
session_register("userid");
$auth=1;
$userid="$PHP_AUTH_USER";
а все что ниже другая страница, и посмотрите ремарки в них пояснения.
И не надо сразу пихать, прошу помощи, а не посылов на х............
И можно указать в цитатах где по Вашему я 2 раза запихил, или ваша компетенция в вопросах php ставится под угрозу, если не умете пользоваться простыми функциями форума.
Спустя 5 минут, 20 секунд (12.03.2010 - 20:35) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 00:01) |
ану марш на курсы Твина, быстро! |
А ВАМ лично, не можешь помочь, не флуди, новичкам в php надо помогать, на delphi я все, что угодно могу навоять, и все кто обращается помогаю.........
Лично к Вам не обращался, а посылать куда-то людей не стоит, а нужно по пунктам разъяснить, что и где, а то я тоже послать могу....
Спустя 9 минут, 16 секунд (12.03.2010 - 20:45) zyurik написал(а):
qpayctА ВАМ лично, не можешь помочь, не флуди, новичкам в php надо помогать, на delphi я все, что угодно могу навоять, и все кто обращается помогаю.........
Лично к Вам не обращался, а посылать куда-то людей не стоит, а нужно по пунктам разъяснить, что и где, а то я тоже послать могу....
Повторюсь, ВЫ меня сильно обидели, надеялся на поддержку, а наткнулся на вилы. Форумы для чего, общения понтовых чуваков и обкакивания "лохов"...
или для помощи незнающим и страждущим....
Лично к Вам не обращался, а посылать куда-то людей не стоит, а нужно по пунктам разъяснить, что и где, а то я тоже послать могу....
Повторюсь, ВЫ меня сильно обидели, надеялся на поддержку, а наткнулся на вилы. Форумы для чего, общения понтовых чуваков и обкакивания "лохов"...
или для помощи незнающим и страждущим....
Спустя 24 минуты, 11 секунд (12.03.2010 - 21:09) qpayct написал(а):
zyurik, ну вот ты обиделся, а я ведь по доброму тебя направил... почему ты в упор этого не видишь?
Спустя 37 минут, 11 секунд (12.03.2010 - 21:46) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 18:09) |
zyurik, ну вот ты обиделся, а я ведь по доброму тебя направил... почему ты в упор этого не видишь? |
Ну наверное выражусь грубо, "а рылом ткунуть нельзя". Теорию я прочел, а вот на практике не получается, за этим сюда и пришел.
опытным путем выяснено, что без этого не авторизуется пользователь:
@mysql_query ("SET NAMES `cp1251`"); так как установки на серваке latin 1,
а где ошибка не вижу хоть убей.
Спустя 4 минуты, 56 секунд (12.03.2010 - 21:51) qpayct написал(а):

а помогает?
Спустя 3 минуты, 40 секунд (12.03.2010 - 21:54) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 18:51) |
![]() а помогает? |
авторизация работает, а вот определение прав доступа нет именно в строке:
$result = mysql_query("SELECT * FROM users WHERE user='$userid'"), толи переменные не совпадают или еще, что, я уже не знаю, 4 сутки пошли, блин ну помогите....
если и правда, кто хочет помочь, напишите в лс дам и адрес сервака и пароль, но только тем кто реально помочь хочет.....
Спустя 6 минут, 22 секунды (12.03.2010 - 22:01) qpayct написал(а):
ну вот ты таки вынудил меня обьяснять то что тебе и без меня должно быть известно из кода ошибки..... с английским проблемы, мусье программист?
1. проверь чему равен userid
2. попробуй так:
$result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid);
1. проверь чему равен userid
2. попробуй так:
$result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid);
Спустя 6 минут, 1 секунда (12.03.2010 - 22:07) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 19:01) |
ну вот ты таки вынудил меня обьяснять то что тебе и без меня должно быть известно из кода ошибки..... с английским проблемы, мусье программист? 1. проверь чему равен userid 2. попробуй так: $result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid); |
$result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid);
я только начал изучать php, но мне кажется, что user=" вот эта кавычка закроет запрос?
и в дополнение $userid не может быть integer т.к. выше я показал, что $userid="$PHP_AUTH_USER";
Спустя 3 минуты, 6 секунд (12.03.2010 - 22:10) qpayct написал(а):
тогда напиши так
$result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid ."");
Спустя 42 секунды (12.03.2010 - 22:11) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 19:10) |
тогда напиши так$result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid .""); |
и в дополнение $userid не может быть integer т.к. выше я показал, что $userid="$PHP_AUTH_USER", а ковычки ставятся одинарные а не двойные.....
Спустя 1 минута, 39 секунд (12.03.2010 - 22:12) qpayct написал(а):
ясно, тогда тебе поможет гильётина - 100 пудоф!
Спустя 2 минуты, 25 секунд (12.03.2010 - 22:15) zyurik написал(а):
Это как??? и все таки пишется данное слово наверное так"гильотина", если у Вас ошибки и в предоставление кода, и в русском языке, большое сомнение, что Вы кому-то помочь можете, а только "понты качаете" как говорят.....
Спустя 2 минуты, 56 секунд (12.03.2010 - 22:18) qpayct написал(а):

Спустя 4 минуты, 57 секунд (12.03.2010 - 22:23) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 19:01) |
ну вот ты таки вынудил меня обьяснять то что тебе и без меня должно быть известно из кода ошибки..... с английским проблемы, мусье программист? 1. проверь чему равен userid 2. попробуй так: $result = mysql_query("SELECT * FROM users WHERE user=". (int)$userid); |
Ну вот Вам мисье, проблемы не у меня с английским или русским, а у Вас с понтами....
Спустя 5 минут, 5 секунд (12.03.2010 - 22:28) qpayct написал(а):
да..... вот потому ты и мучаешься 3 дня над пустяковой проблемой.


програмист


програмист

Спустя 1 минута, 40 секунд (12.03.2010 - 22:29) zyurik написал(а):
ну где проблема? я уже не вижу, ткни меня в ту строку где я ошибку допустил, дурного, глупого и неразумного ГДЕ?????
Спустя 1 минута, 42 секунды (12.03.2010 - 22:31) qpayct написал(а):
слушай, найми себе няню пускай она и тыкает
Спустя 6 минут, 39 секунд (12.03.2010 - 22:38) zyurik написал(а):
Цитата (qpayct @ 12.03.2010 - 19:31) |
слушай, найми себе няню пускай она и тыкает |
Нет, давай закончим флудить, я жду ответа от понимающих и знающих тему Людей. На твои нападки ни чем не подкрепленные (опытом, стажем, профессионализмом, и знаниями) отвечать больше не буду, если есть по теме предложения пиши, иначе не надо.
отвечаю в редактирование, не надо флудить, в тему ответ дай, а то я смотрю ты прямо лихой программер, аж две ошибки в твоих предложениях (даже не внося изменения в код, и так видно). И язык подучить было бы не плохо, и русский и php....
Спустя 2 минуты, 6 секунд (12.03.2010 - 22:40) qpayct написал(а):
как скажешь
твояж тема, как никак

Спустя 44 минуты, 22 секунды (12.03.2010 - 23:24) zyurik написал(а):
Вот какая проблема, 4 сутки не сплю, авторизация работает через бд, на ура. есть глобальная переменная, $userid определяется через сессию.
Выдает ошибку: 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 #6' at line 1
при вводе пользователя UFPS все ок, все остальные вызывают ошибку ранее описанную, по выборке по бд, а имено в строке $result = mysql_query("SELECT * FROM users WHERE user='userid'");
Вот код:
страница сессии:
session_start();
session_register("auth");
session_register("userid");
$auth=1;
$userid="$PHP_AUTH_USER";
Страница проверки прав доступа у UFPS полный у остальных userid:
структура бд:
user :varchar(16);
myrow[10] = varchar(250);
Выдает ошибку: 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 #6' at line 1
при вводе пользователя UFPS все ок, все остальные вызывают ошибку ранее описанную, по выборке по бд, а имено в строке $result = mysql_query("SELECT * FROM users WHERE user='userid'");
Вот код:
страница сессии:
session_start();
session_register("auth");
session_register("userid");
$auth=1;
$userid="$PHP_AUTH_USER";
Страница проверки прав доступа у UFPS полный у остальных userid:
include ("config.inc.php"); //Здесь все коннекты к БД
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
if (!$link)
{
exit ("<P>В настоящий момент сервер базы данных
не доступен, поэтому корректное отображение
страницы невозможно.</P>");
}
@mysql_query ("SET NAMES `cp1251`");
if ($userid=="UFPS")
{
$result = mysql_query("SELECT * FROM users WHERE comment!='' ORDER BY comment"); // это работает!!!!!!
}
else
{
$result = mysql_query("SELECT * FROM users WHERE user='$userid'"); // ошибка вот здесь, но в чем не пойму??????????
$res_sql = mysql_query($result);
if(!$res_sql)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo ("$res_sql");
echo ("$user");
exit();
}
}
echo "<table border=1>\n";
echo "<tr><td><strong>Наименование почтамта</strong></td></tr>\n";
while ($myrow = mysql_fetch_row($result)) // а вот в это сроке ошибку дает в браузере описанную ранее.
{
printf("<tr><td><a href='$vib_poch'>%s</a></td></tr>\n", $myrow[10]);
}
echo "</table>\n";
структура бд:
user :varchar(16);
myrow[10] = varchar(250);
Спустя 1 минута, 11 секунд (12.03.2010 - 23:25) qpayct написал(а):
! |
sergeiss |
Предупреждение за флуд (пустое сообщение) в тематическом разделе.
Спустя 42 минуты, 22 секунды (13.03.2010 - 00:08) sergeiss написал(а):
Цитата (zyurik @ 13.03.2010 - 00:24) |
$result = mysql_query("SELECT * FROM users WHERE user='$userid'"); // ошибка вот здесь, но в чем не пойму?????????? |
Замени эти строки на
$sql = "SELECT * FROM users WHERE user='$userid'";
echo $sql.'<br>';
$result = mysql_query( $sql );
И посмотри, что же на самом деле у тебя содержится в запросе!!! Или кто-то должен проявить телепатию и догадаться, что же у тебя там в БД творится?

И еще. Используй тэги оформления кода! Сейчас я это сделаю, но впредь делай сам.
Плюс к этому - (пока устное) предупреждение о том, что теме надо давать осмысленное название (согласно Правил форума http://phpforum.ru/index.php?act=boardrules). Тему меняю с " Помагите пожалуйста, писал в другой ветке, там не помогли" на "Помогите с поиском ошибки в запросе, сам не могу найти".
И вообще. Это тема для раздела "PHP + SQL"

PS. И заодно я объединяю 2 темы одного автора. Высказанное мной предупреждение распространяется и на создание одной темы во множестве экземпляров. Это также противоречит Правилам форума.
PPS. Я тут сидел, "вкуривал", но так и не понял, что делают, по мнению автор темы, строки
session_register("auth");
session_register("userid");
$auth=1;
$userid="$PHP_AUTH_USER";
Спустя 32 минуты, 5 секунд (13.03.2010 - 00:40) Gabriel написал(а):
zyurik
Цитата |
где? там страница с кодом коряво почему-то отобразилась |
$result = mysql_query("SELECT * FROM users WHERE user='$userid'");
$res_sql = mysql_query($result);
ЗЫ. переменные в двойные кавычки без надобности брать ненужно
Спустя 17 минут, 51 секунда (13.03.2010 - 00:58) zyurik написал(а):
Спасибо за ответ и помощь в оформлении, но не помогло, переменная $userid выводится правильно, какая информация о БД нужна? помогите, правда не знаю где искать. Выводит вот этот запрос: SELECT * FROM users WHERE user='urup' . есть подозрения, что с кодировкой, что то не то, т.к. urup есть в бд, но без этой строчки @mysql_query ("SET NAMES `cp1251`"); не логинется вообще под любыми логинами, хотя на этом сервере стоит ftp сервер и к базе пользователей ftp я привязался, чтобы лишнюю бд и таблицу не создавать.
вот страница авторизации целиком:
вот index_log.php
вот buh.php:
вот buh_reestr.php:
если еще какие данные нужны, предоставлю, но ради бога помогите...
вот страница авторизации целиком:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Закрытая зона</title>
</head>
<?php
include("incl/top.php");
include ("config.inc.php");
?>
<p><strong>Авторизация пользователя</strong></p><br/>
<form name="1" action="" method="post">
Имя пользователя:</br>
<input name="PHP_AUTH_USER" type="text" value=""> <br/>
Пароль: </br>
<input name="PHP_AUTH_PW" type="password" value=""> <br/></br>
<input name="do" type="submit" value="Войти">
</form>
<?php
if(!isset($PHP_AUTH_USER))
// пользователь неизвестен
{
//echo ("Пользователь в БД не найден");
exit();
}
else
// пользователь известен, неизвестен пароль
{
// введенный пароль
$PHP_AUTH_PW = md5($PHP_AUTH_PW);
$password = "$PHP_AUTH_PW";
// просмотр базы для получения реального пароля
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
$result=mysql_query("SELECT password, idpocht FROM users WHERE user='$PHP_AUTH_USER'");
$row=mysql_fetch_array($result);
// проверка
if ($row==NULL) // пользователя с таким именем нет в БД, выходим
{
echo("Пользователя с таким именем нет в БД");
exit();
}
else // пользователь с таким именем есть в БД, проверка пароля
{
$real_password="$row[password]";
if ($real_password!=$password)
{
echo("Неверный пароль");
exit();
}
else
{
// Здесь открытие сессии и определение переменной $userid
session_start();
session_register("auth");
session_register("userid");
$auth=1;
$userid="$PHP_AUTH_USER";
header("Location: index_log.php");
}
}
}
?>
<body>
</body>
</html>
вот index_log.php
<? include("incl/log.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Закрытая зона</title>
</head>
<?php
include("incl/top.php");?>
<a href="buh.php">Бухгалтерский учет</a></br></br>
<a href="teh.php">Техника</a>
<body>
</body>
</html>
вот buh.php:
<? include("incl/log.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Закрытая зона</title>
</head>
<?php
include("incl/top.php");?>
<p><strong>Бухгалтерский учет</strong></p>
<a href="buh_reestr.php">Реестры оплаты</a></br></br>
<body>
</body>
</html>
вот buh_reestr.php:
<? include("incl/log.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Закрытая зона</title>
</head>
<?php
include("incl/top.php");?>
<a href="buh.php">Бухгалтерский учет</a><strong> Реестры оплаты</strong>
<p>Выберите почтамт</p>
<?
include ("config.inc.php");
echo ("$userid");// здесь пишет юзера правельно
/*Подключение к бд*/
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
if (!$link)
{
exit ("<P>В настоящий момент сервер базы данных
не доступен, поэтому корректное отображение
страницы невозможно.</P>");
}
@mysql_query ("SET NAMES `cp1251`");
if ($userid=="UFPS")
{
$result = mysql_query("SELECT * FROM users WHERE comment!='' ORDER BY comment");
}
else
{
$sql = "SELECT * FROM users WHERE user='$userid'";
echo ($sql.'</br>');
$result = mysql_query($sql);// заменил не погло
$res_sql = mysql_query($result);
if(!$res_sql)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo ("$res_sql");
echo ("$user");
exit();
}
}
echo "<table border=1>\n";
echo "<tr><td><strong>Наименование почтамта</strong></td></tr>\n";
while ($myrow = mysql_fetch_row($result))
{
printf("<tr><td><a href='$vib_poch'>%s</a></td></tr>\n", $myrow[10]);
echo ("$user"." "."$userid");
}
echo "</table>\n";
?>
<body>
</body>
</html>
если еще какие данные нужны, предоставлю, но ради бога помогите...
Спустя 4 минуты, 37 секунд (13.03.2010 - 01:02) zyurik написал(а):
PPS. Я тут сидел, "вкуривал", но так и не понял, что делают, по мнению автор темы, строки
session_register("auth"); //регистрация переменных
session_register("userid");
$auth=1; // авторизовался "Да"
$userid="$PHP_AUTH_USER"; // под каким логином
авторизацию сделал, через открытие сессии, $PHP_AUTH_USER вот это он теряет, вот log.php
<? $auth=0;
session_start();
if ($auth!=1)
{echo ("Вы неавторизованны доступ запрещен! Для авторизации нажмите "."<a href='index.php'>сюда.</a>");
exit;} ?>
Спустя 1 час, 9 минут, 19 секунд (13.03.2010 - 02:12) DedMorozzz написал(а):
Цитата |
$sql = "SELECT * FROM users WHERE user='$userid'"; |
пораставляй кавычки. Запрос простой и составлен верно. вобщем раставь кавычки и глянь.
по типу: FROM `users`...и так далее
Кроме того что под "не работает подразумеваеться. У тя стоит ИФ. сработает только 1 запрос. если 1й работает, то 2й - очевидно, что нет. Иль в чём выражаеться "не рабочесть"
по типу: FROM `users`...и так далее
Кроме того что под "не работает подразумеваеться. У тя стоит ИФ. сработает только 1 запрос. если 1й работает, то 2й - очевидно, что нет. Иль в чём выражаеться "не рабочесть"
Спустя 7 часов, 25 минут, 36 секунд (13.03.2010 - 09:37) zyurik написал(а):
Ну да, я с этого и начал, ошибку выдает:
kamSELECT * FROM users WHERE user='kam'
Возникла ошибка - 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 #6' at line 1
но когда логин UFPS все ок.
После поставки кавычек ошибка изменилась на : Возникла ошибка - Query was empty
kamSELECT * FROM users WHERE user='kam'
Возникла ошибка - 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 #6' at line 1
но когда логин UFPS все ок.
После поставки кавычек ошибка изменилась на : Возникла ошибка - Query was empty
Спустя 1 час, 22 минуты, 3 секунды (13.03.2010 - 10:59) DedMorozzz написал(а):
Цитата |
Query was empty |
как думаешь, что это значит. Подставь передаваемые значения в пхпмуадмин и попробуй выполнить сей запрос. Естесно с кавычками.
Ах да, и покажи как ты их ставишь, а то мало ли.
Ах да, и покажи как ты их ставишь, а то мало ли.
Спустя 8 часов, 58 минут, 53 секунды (13.03.2010 - 19:58) zyurik написал(а):
SELECT * FROM users WHERE user='kam' в phpmyadmin, запрос работает правильно, выбирается одна строка из базы где user = kam
Спустя 21 час, 26 минут, 21 секунда (14.03.2010 - 17:24) Guest написал(а):
нашел!!!!
вот это лишнее, и напутал с кодировками и это было основное.
$res_sql = mysql_query($result);
if(!$res_sql)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo ("$res_sql");
echo ("$userid");
exit();
}
вот это лишнее, и напутал с кодировками и это было основное.