Опять с выборкой и все с тем что и раньше
Вообщем, кто может посмотреть и сказать, чем эти два файла отличаются
<? $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 для примера и чтоб показал, что с приходом получается, браузер показывает, то что передаю, но вот как дальше по коду идти так онлине и всё тут |
Цитата:
Например: Fatal error: _здесь_сообщение_об_ошибке_ in _имя_файла_с_ошибкой_ on line номер_строки_с_ошибкой Так приведите же сообщение об ошибке а не только "онлине" |
dima1981,
А ошибка у вас вот: $sql = mysql_query ("SELECT * FROM og 'og' where co='$co', and cd='$cd', $db", $db); Подчеркнутое - убрать. |
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 8
это по второму коду timon4ik, это с while что то, дальше него не выполняет |
dima1981,
Ответ уже дал :) Цитата:
|
про что и разговор, какие он может воспринимать аргументы не могу понять в упор, подскажите, родной вы к нам timon4ik, очень нужно...
на гугле перевод делал и он мне так перевел, что некоректно мол так к mysql или к php я так вообщем и не понял к кому но обращаться, повторите говорит попытку позднее ) только запарился в хлам и что удивительно в форумах и в интернете по этому такое ощущение, что информации совсем нет, обычно, там какая то тема лбычная т.е. распостраненная, везде и во многих экземплярах, но это как будто все знают, или как будто только пара видов запросов всех интересует, в полном недоумении я короче. |
Вы присваиваете значению переменной - запрос:
$sql = mysql_query ("SELECT * FROM og 'og' where co='$co', and cd='$cd', $db", $db); Дальше используете переменную $sql в качестве аргумента функции mysql_fetch_row() while($abc = mysql_fetch_row($sql)) - тут кстати вы забыли закрыть вторую скобку Выполнение программы доходит до вызова функции mysql_fetch_row(), видит что её аргументом является некорректный запрос (тот что в значении переменной $sql), и естественно возвращает ошибку. Исправить нужно следующее: Неверно: $sql = mysql_query ("SELECT * FROM og 'og' where co='$co', and cd='$cd', $db", $db); Верно: $sql = mysql_query ("SELECT * FROM og where co='$co', and cd='$cd'", $db); Неверно: while($abc = mysql_fetch_row($sql) Верно: while($abc = mysql_fetch_row($sql)) Вроде все объяснил, понятнее уже некуда :) |
не получается короче
чего трудно так, вот говорю если сделать как вы говорите timon4ik, т.е. взять второй код и тех двух вначале, переставить там те строки, которые вы уважаемый говорите, что не верны и прописать там те, которые вы говорите верны, браузер покажет Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 8 |
Еще раз приведите получившийся код с учетом моих исправлений.
|
<?
$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']; $sql = mysql_query ("SELECT * FROM og where co='$co', and cd='$cd', $db"); while ($abc = mysql_fetch_row($sql)) { echo("$abc[1]|$abc[2]|$abc[3]|$abc[4]"); } echo "</table>"; mysql_close($db); ?> Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 8 |
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); Закрывающие двойные кавычки на на своем месте были. |
Цитата:
mysql_query("SET CHARACTER SET 'utf8'"); echo $HTTP_POST_VARS['cd']; $sql = mysql_query ("SELECT * FROM og", $db); while ($abc = mysql_fetch_row($sql)) ? Цитата:
|
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); Так должно заработать. |
и произойдет выборка из базы, ура!
щас попробую ) Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 8 |
Вот вы пишете в коде:
Цитата:
Из приведённого кода видно, что они нигде не инициализируются, а значит равны NULL. Попробуйте составить запрос в переменной, а потом его отправить. Примерно так: PHP код:
Такой запрос вряд ли можно назвать корректным. |
Цитата:
$sql = mysql_query ("SELECT * FROM og where co='".$_POST['co']."', and cd='".$_POST['cd']."'", $db); |
от того что эти переменные увижу я в браузере, после прописывания $query = "SELECT * FROM og where co='$co', and cd='$cd'";
echo $query; обработчику станет не чуть не легче их воспринимать и это не значит что функция станет фосприниматься как корректная и т.д. |
dima1981, повторяю свою просьбу еще раз: оформляйте куски кода тэгами [ CODE ], [ HMTL ] и [ PHP ] (см. кнопки на текстбоксом), ибо читать Ваши вопросы и пытаться помочь - очень сложно.
|
HTML код:
<? |
Цитата:
|
dima1981,
Еще вопрос, у вас точно в базе есть таблица og с полями co и cd? |
Цитата:
|
да есть и первый код её полностью вытаскивает, там конечно есть и дополнительные поля, но выборку планируется осуществлять только по этим дву, в таблице поля cd и co расположенны не по соседству, но не думаю, что это является тем фактором, который так влияет на процесс
HTML код:
<? |
А это что?
Код:
$abc = mysql_query($sql) |
да хоть
Цитата:
Цитата:
и так не правильно ? <? $db = mysql_connect("localhost","root","123"); mysql_select_db("rp" ,$db); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); $_POST[co]; $_POST[cd]; $sql = mysql_query ("SELECT * FROM og where co='".$_POST['co']."', and cd='".$_POST['cd']."'", $db); aray ($abc = mysql_fetch_array($sql)) echo("$abc[0][1]|$abc[0][2]|$abc[0][3]|$abc[0][4]"); mysql_close($db); ?> пишет Parse error: syntax error, unexpected T_ECHO in C:\apache\localhost\www\zg.php on line 10, ставишь за и перед echo("$abc[0][1]|$abc[0][2]|$abc[0][3]|$abc[0][4]");фигурные скобки на них указывает чего то онлине короче вы не знаете или не хотите говорить, только угараете, вот знаю например код, если конечно не комерческая тайна какая то и ничего такого о неразглашении её не было или там ещё какой то да скажу любому, только знать бы, а вы там кавычки не поставил, запятую не прописал, размусолили тему как известно, что по стене и все, не хотите написать так и говорите сразу, вы как первый день за компом, чего тогда говорить эх |
Опять не правильно:)
PHP код:
PHP код:
|
Вообщем, отказывает не то база не то скрипт не то не извесно что погорячился там
<? $db = mysql_connect("localhost","root","123"); mysql_select_db("rp" ,$db); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); $sql = mysql_query ("SELECT * FROM og where co='".$_POST['co']."', and cd='".$_POST['cd']."'", $db); $abc = mysql_fetch_row($sql); echo("$abc[1]|$abc[2]|$abc[3]|$abc[4]"); mysql_close($db); ?> Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 7 ||| на счет aray это для массива где то читал, вообщем ладно чувствую решение тут не появится, скажите пожалуйста, где тут на форуме про браузеры общаются, установил гугловский, хочу кое, что узнать об работе с ним, но дизайн супер, то что надо, мода на бочки видать не актуальна ) |
Вот так напишите, прямо скопируйте отсюда и вставьте вместо своего кода, и отпишитесь что получилось:
Код:
<? |
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\apache\localhost\www\zg.php on line 7
может потому, что mysql 6-ой php 5-ый и апач 229 ? но полностью таблицу показывает |
Ну давайте проверим...
Замените свой код на этот и скопируйте сюда строку, которая выведется в браузер: Код:
<? |
SELECT * FROM og where co='0', and cd='1' прям так и пишет и данные из форм html файла передаются
|
Все ясно, лишняя запятая в строке.
Вот этот код должен работать: Код:
<? |
timon4ik, вы чудо человек, спасибо вам огромное, очень вам и всем благодарен ура! )
теперь только, разберусь с кодом и далее две задачи, это автоматическое удаление, для этого скачал cron и дизай для этого у меня есть пейнт ) опять спасибо жму руку мир вам ) |
Цитата:
|
только что то теперь по одному значению теперь не выберается )
но с этим думаю разберусь, знаете какого обращаться в форум, когда и так не понимаешь что у тебя потому и обращаешься и тут тебе и вопросы такие на которые бы знать ответы и в форум можно не обращаться самому, но зато прикольно когда кто то разберается при участии тебя в чем то в таком мне нравится участвовать ) |
Цитата:
И фигурные скобки можно убрать. А можно и не убирать, потому что правильнее было бы добавить в sql-запрос в конце LIMIT 1. Точку с запятой не забудьте)) Оппа... Я что-то логическую связь неправильно выстроил) LIMIT 1 добавляется, чтобы делать выборку только одной строки, а не потому, что скобки стоят =^_^'= |
Цитата:
выбрать к примеру только по co или только по cd или по обоим значениям, как сделать? |
Короче данные опять не выводятся... и выберает как придется, какието имена в таблице есть но он чистую страницу показывает, но теперь почему то показывает её постоянно.
|
Время: 04:49. |
Время: 04:49.
© OSzone.net 2001-