Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Опять с выборкой и все с тем что и раньше

Ответить
Настройки темы
[решено] Опять с выборкой и все с тем что и раньше

Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


Вообщем, кто может посмотреть и сказать, чем эти два файла отличаются

<?
$db = mysql_connect("localhost","root","...");
mysql_select_db("rp" ,$db);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
echo $HTTP_POST_VARS['cd'];
$sql = mysql_query ("SELECT * FROM og", $db);
while ($abc = mysql_fetch_row($sql))
{
echo("$abc[1]|$abc[2]|$abc[3]|$abc[4]");
}
mysql_close($db);
?>

в этом всё клёво показывает данные из базы на отлично, теперь этот

<?
$db = mysql_connect("localhost","root","...");
mysql_select_db("rp" ,$db);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
$HTTP_POST_VARS['cd'];
echo $HTTP_POST_VARS['cd'];
$sql = mysql_query ("SELECT * FROM og 'og' where co='$co', and cd='$cd', $db", $db);
while ($abc = mysql_fetch_row($sql)
{
echo("$abc[1]|$abc[2]|$abc[3]|$abc[4]");
}
mysql_close($db);
?>

как и первый только не показывает базу, суда приходят переменные или как то так это называется нормально, прописываю тут $HTTP_POST_VARS['co']; $HTTP_POST_VARS['cd']; и перед ними echo для примера и чтоб показал, что с приходом получается, браузер показывает, то что передаю, но вот как дальше по коду идти так онлине и всё тут

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )


Отправлено: 14:31, 04-09-2008

 

Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


dima1981,

Вы написали
$query = mysql_query ("SELECT * FROM og where co='$co', and cd='$cd', $db");

А я говорил так:
$query = mysql_query ("SELECT * FROM og where co='$co', and cd='$cd'", $db);

Закрывающие двойные кавычки на на своем месте были.

Отправлено: 17:26, 04-09-2008 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


Цитата timon4ik:
Выполнение программы доходит до вызова функции mysql_fetch_row(), видит что её аргументом является некорректный запрос (тот что в значении переменной $sql), и естественно возвращает ошибку. »
каким образом он тут корректно воспринимает
mysql_query("SET CHARACTER SET 'utf8'");
echo $HTTP_POST_VARS['cd'];
$sql = mysql_query ("SELECT * FROM og", $db);
while ($abc = mysql_fetch_row($sql))
?

Цитата timon4ik:
$query = mysql_query ("SELECT * FROM og where co='$co', and cd='$cd'", $db); »
и так Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 8

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )


Отправлено: 17:29, 04-09-2008 | #12


Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


dima1981,
хорошо, тогда попробуйте вместо
$sql = mysql_query ("SELECT * FROM og where co='$co', and cd='$cd'", $db);
написать
$sql = mysql_query ("SELECT * FROM og where co='".$_POST['co']."', and cd='".$_POST['cd']."'", $db);

Так должно заработать.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:35, 04-09-2008 | #13


Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


и произойдет выборка из базы, ура!
щас попробую )

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 8

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )


Отправлено: 17:38, 04-09-2008 | #14


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Вот вы пишете в коде:
Цитата dima1981:
$HTTP_POST_VARS['cd'];
echo $HTTP_POST_VARS['cd'];
$sql = mysql_query ("SELECT * FROM og 'og' where co='$co', and cd='$cd', $db", $db); »
А для чего первые две строки? Ну да, выводит, хорошо. А переменные $co и $cd откуда берутся?
Из приведённого кода видно, что они нигде не инициализируются, а значит равны NULL.

Попробуйте составить запрос в переменной, а потом его отправить. Примерно так:
PHP код: Выделить весь код

$query "SELECT * FROM og where co='$co', and cd='$cd'";

echo 
$query;
$sql mysql_query($query); 

Полагаю, что echo $query выведет такую строку: SELECT * FROM og where co='', and cd=''.
Такой запрос вряд ли можно назвать корректным.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:41, 04-09-2008 | #15


Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


Цитата Coutty:
А переменные $co и $cd откуда берутся? »
Вот именно, на это я сначала и не обратил внимание, поэтому нужно так:
$sql = mysql_query ("SELECT * FROM og where co='".$_POST['co']."', and cd='".$_POST['cd']."'", $db);

Отправлено: 17:43, 04-09-2008 | #16


Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


от того что эти переменные увижу я в браузере, после прописывания $query = "SELECT * FROM og where co='$co', and cd='$cd'";
echo $query; обработчику станет не чуть не легче их воспринимать и это не значит что функция станет фосприниматься как корректная и т.д.

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )


Отправлено: 17:49, 04-09-2008 | #17


Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


dima1981, повторяю свою просьбу еще раз: оформляйте куски кода тэгами [ CODE ], [ HMTL ] и [ PHP ] (см. кнопки на текстбоксом), ибо читать Ваши вопросы и пытаться помочь - очень сложно.

Отправлено: 17:49, 04-09-2008 | #18


Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


HTML код: Выделить весь код
<? $db = mysql_connect("localhost","root","123"); mysql_select_db("rp" ,$db); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); $HTTP_POST_VARS['cd']; $query = "SELECT * FROM og where co='$co', and cd='$cd'"; echo $query; $abc = mysql_query($query) echo("$abc[1]|$abc[2]|$abc[3]|$abc[4]"); echo "</table>"; mysql_close($db); ?>

Parse error: syntax error, unexpected T_ECHO in C:\apache\localhost\www\zg.php on line 11

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )


Отправлено: 17:51, 04-09-2008 | #19


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата dima1981:
от того что эти переменные увижу я в браузере, после прописывания $query = "SELECT * FROM og where co='$co', and cd='$cd'";
echo $query; обработчику станет не чуть не легче их воспринимать и это не значит что функция станет фосприниматься как корректная и т.д. »
Естественно! Вы увидите, что составляется некорректный запрос и сможете исправить его (добавлением $_POST[co] и $_POST[cd]).

Отправлено: 17:52, 04-09-2008 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Опять с выборкой и все с тем что и раньше

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Темы и Стили - Редактирование тем оформления - Все вопросы kudanax Оформление Windows XP 249 17-02-2014 17:26
MSFT SQL Server - помогите с выборкой mikola1983 Программирование и базы данных 2 23-10-2008 06:15
Опять ХР, опять вин98, опять сеть =( Arioch Сетевые технологии 7 01-04-2003 11:45




 
Переход