Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ошибка при работе с БД


Автор: lirq 26.6.2004, 23:35
Итак. БД - MySQL. Часть скрипта:
Код

14.  <?php
15.    $server = "localhost";
16.    $db = "film";
17.
18.    mysql_connect($server);
19.    mysql_select_db($db);
20.
21.    echo "<table border><tr><td>ID</td><td>NAME</td><td>NATIVE                                       NAME</td><td>YEAR</td></tr>";
22.    $r = mysql_query("SELECT * FROM filmz");
23.    for($i=0; $i<mysql_num_rows($r); $i++){
24.      echo "<tr>";
25.      $f = mysql_fetch_array($r);
26.      echo "<td>$f[ID]</td><td>$f[NAME]</td><td>$f[N_NAME]</td><td>$f[YEAR]</td>";
27.      echo "</tr>";
28.      }
29.    echo "</table>";
30.  ?>


Браузер выдает следующую ошибку:
Warning: Supplied argument is not a valid MySQL result resource in /var/www/html/index.php on line 23

Автор: Sufius 26.6.2004, 23:51
Я бы сделал так...
Код

14.  <?php
15.    $server = "localhost"; $login = "admin"; $pass = "password";
16.    $db = "film";
17.
18.    mysql_connect($server, $login, $pass);
19.    mysql_select_db($db);
20.
21.    echo "<table border><tr><td>ID</td><td>NAME</td><td>NATIVE                                       NAME</td><td>YEAR</td></tr>";
22.    $r = mysql_query("SELECT * FROM filmz");
23.    for($i=0; $i<mysql_num_rows($r); $i++){
24.      echo "<tr>";
25.      $f = mysql_fetch_array($r);
26.      echo "<td>$f[ID]</td><td>$f[NAME]</td><td>$f[N_NAME]</td><td>$f[YEAR]</td>";
27.      echo "</tr>";
28.      }
29.    echo "</table>";
30.  ?>

Добавлено @ 23:52
упс... перепутал коды... =)

Автор: Master 28.6.2004, 12:33
не нравиться серверу твой запрос.
после $r = mysql_query("SELECT * FROM filmz");
напиши echo mysql_error();
и посмотри что ему не нравиться.

Автор: IZ@TOP 28.6.2004, 15:28
----------Отмодерировано biggrin.gif
Точно. Сам я неверно посмотрел ... сорри. Делай как сказал Мастер.

Автор: yUAC 28.6.2004, 15:32
Цитата
Подобный запрос врядли с кем-ни будь сконнектит


Я знаю хостинги, на которых даже просто mysql_connect(); работает корректно и заходит под юзером пользователя хостинга.

Автор: IZ@TOP 28.6.2004, 15:40
yUAC
Точно. Забыл совсем.

Автор: lirq 28.6.2004, 18:33
>напиши echo mysql_error();

говорит:
No Database Select

Автор: Ignat 28.6.2004, 18:40
Строки 18, 19 - попробуй заменить на это:
$mysql=mysql_connect($server);
mysql_select_db ($db, $mysql)
or die (mysql_error ($mysql)."while selecting database ".$mysql_database);

Что получишь?

Автор: Master 29.6.2004, 09:47
Если говорит No Database Select то выбери БД
http://www.php.net/mysql_select_db

Автор: lirq 29.6.2004, 17:33
>Если говорит No Database Select то выбери БД

железная логика=)


>Строки 18, 19 - попробуй заменить на это:
>$mysql=mysql_connect($server);
>mysql_select_db ($db, $mysql)
>or die (mysql_error ($mysql)."while selecting database ".$mysql_database);

заменил. как ни странно все заработалоsmile.gif

ВСЕМ СПАСИБО

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)