Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос к MYSQL БД из скрипта возварщает ТОЛЬКО одну строчку
 
 автор: dimon   (19.02.2009 в 11:03)   письмо автору
 
 

Все здрасте!

заранее приношу свои извинения за возможный дубль темы, но поиск ни по гуглу ни по поиску форума ничего не дал :(

У меня такая проблемка странная: РНР скрипт делает запрос к БД и возвращает только одну строчку, хотя тот же самый запрос в PHPMyAdmin возвращает больше, и mysql_affected_rows() также говорит, запрос затронул больше строчек.

Если кто сталкивался с такой проблемой, не подскажите решение?

Спасибо!

  Ответить  
 
 автор: Axxil   (19.02.2009 в 11:06)   письмо автору
 
   для: dimon   (19.02.2009 в 11:03)
 

Если ещё и скрипт сюда скопируете, то шансов на помощь будет гораздо больше.

  Ответить  
 
 автор: dimon   (19.02.2009 в 11:14)   письмо автору
 
   для: Axxil   (19.02.2009 в 11:06)
 

сорри, думал, слов будет достаточно, тем более, что скрипт самый банальный:
$dbname = "suggest";
$dbuser = "root";
$dbpass = "root";
$dbhost = "localhost";
$connect = mysql_connect($dbhost, $dbuser, $dbpass);
if ($connect){
    mysql_select_db($dbname, $connect);
    $qq = mysql_query("SELECT name FROM suggest_subcategories WHERE parent_to = '1' LIMIT 0,30");
    if ($qq){
        $rr = mysql_fetch_assoc($qq);
        echo "Запрос выполнен. Затронуто строк: ".mysql_affected_rows()."<br />";
        print_r($rr);
        echo "<br/>";
    }
    else echo "<br>Не удалось выполнить запрос!<br />";
}
else echo "<br />Не удалось подключиться к БД<br />";

это только часть всего вскрипта, но я сейчас играюсь имеено с ней... выдает она вот что:
Запрос выполнен. Затронуто строк: 6
Array ( [name] => Suggest1 ) 

смущает то, что mysql_affecte_rows() говорт что 6 строк затронуто (PHPMyAdmin это подверждает), а в массиве только одна запись... как DISTINCT не использую...

и немного о системе: стоит стандартный последний Darwin, другие скрипты на других хостах работают нормально.

P.S. У меня бывает так, что я не вижу очевидного иногда, даже если очень долго рассматриваю, так что если решение на поверхности, прошу меня извинить :)

  Ответить  
 
 автор: Axxil   (19.02.2009 в 11:18)   письмо автору
 
   для: dimon   (19.02.2009 в 11:14)
 

Вы вытаскиваете только одну строку.
Чтобы получить всю выборку нужно в цикле это делать.

    
$qq = mysql_query("SELECT name FROM suggest_subcategories WHERE parent_to = '1' LIMIT 0,30");
echo "Запрос выполнен. Затронуто строк: ".mysql_affected_rows()."<br />";
    if ($qq){
        while($rr = mysql_fetch_assoc($qq)){
           print_r($rr);
           echo "<br/>";
        }
    }

  Ответить  
 
 автор: dimon   (19.02.2009 в 11:19)   письмо автору
 
   для: Axxil   (19.02.2009 в 11:18)
 

эта моя проблемка снова сыграла со мной злую шутку... спасибо!
и главное же смотрел в другие скрипты, а вот while в упор не видел!
спасибо, Axxil!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования