Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка при обращении к базе данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Ошибка
Mister
Отправлено: 07 Июля, 2007 - 12:20:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Подскажите в чём проблема:
есть файл конфигурации с данными имя БД, имя пользователя и т.д. Этот файл вставляется include в код страницы, но при выводе в браузере все это выводится прямым текстом в браузере, а далее следует ошибка

$server = "localhost"; $user = "a7342_1"; $passwd="polones"; $db=" a7342_1"; //содержимое файла
Notice: Undefined variable: server in T:homelocalhostlansatindex.php on line 17

Notice: Undefined variable: user in T:homelocalhostlansatindex.php on line 17

Notice: Undefined variable: passwd in T:homelocalhostlansatindex.php on line 17

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in T:homelocalhostlansatindex.php on line 17
Error

Может ли быть проблема в привелегиях или вообще почему так происходит?


-----
..я не специалист, а только учусь
 
 Top
EuGen Администратор
Отправлено: 07 Июля, 2007 - 12:23:57
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Цитата:
$server = "localhost"; $user = "a7342_1"; $passwd="polones"; $db=" a7342_1"; //содержимое файла

Если это точное содержимое файла, то не забудьте дописать "<?php" в начале и "?>" в конце


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Mister
Отправлено: 07 Июля, 2007 - 12:36:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


В общем так уже переменные не показывает, но ведь данный файл вставляется вместо include который на него указывает, зачем ещё раз писать <??>?
А с самой базой данных что?
Теперь соединение с базой устанавливается но дальше ошибка:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in T:homelocalhostlansatindex.php on line 29


-----
..я не специалист, а только учусь
 
 Top
valenok
Отправлено: 07 Июля, 2007 - 12:41:14
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




с самой базой данных всё в порядке.
http://php.su/forum/topic.php?fo...=1&topic=254


-----
Truly yours, Sasha.
 
My status
 Top
EuGen Администратор
Отправлено: 07 Июля, 2007 - 12:43:01
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Цитата:
Теперь соединение с базой устанавливается но дальше ошибка:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in T:homelocalhostlansatindex.php on line 29

Ну так include Ваш сработал - это и главное.
А то, что Вы написали про ошибку - это уже в другом месте ошибка (то есть Вы пытаетесь применить mysql_num_rows к переменной, которая не является указателем на результат запроса MySQL. Это может быть,например, из-за неправильного запроса, или запроса)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Mister
Отправлено: 07 Июля, 2007 - 12:47:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Листинг скрипта на всякий случай

PHP:
скопировать код в буфер обмена
  1. //Подключение к базе данных и извлечение данных
  2. include_once("config.ini");
  3.  
  4. //Содержимое файла config.ini
  5. /*$server = "localhost";
  6. $user = "";
  7. $passwd="";
  8. $db="";*/
  9.  
  10. if (!mysql_connect($server,$user,$passwd))
  11. {
  12. echo "Error";
  13. }
  14. {
  15. echo "Ок";
  16. }
  17. //Выбор базы данных
  18. //Запрос к базе данных
  19. $query= mysql_query ("select * from news_lansat;");
  20. for ($i=0; $i<mysql_num_rows($query); $i++)
  21. {
  22.         $f = mysql_fetch_array($query);
  23. //Вывод новостей
  24.         echo "<table width=100% border=0 align=center cellspacing=0 cellpadding=0 class=tekst>";
  25.         echo "<tr><td align=center><b> $f[title]</b></td></tr>";
  26.         echo "<tr><td align=justify>$f[news]<br><hr color=#3366FF size=1 width=30% align=center></td></tr><tr><td align=right>$f[date]</td></tr></table>";
  27.         echo "<hr color=#3366FF size=1 width=80% align=center>";
  28. }


-----
..я не специалист, а только учусь
 
 Top
valenok
Отправлено: 07 Июля, 2007 - 12:51:45
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Внимательность плохая ?

Ничего не работает[dot] Что делать?!


-----
Truly yours, Sasha.
 
My status
 Top
evgenijj
Отправлено: 07 Июля, 2007 - 12:54:39
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




А почему имя БД и пользователя БД - пустая строка?
Сообщение об ошибке переводится примерно так:
mysql_num_rows() - переданный аргумент не является корректным результатом запроса к БД
 
 Top
EuGen Администратор
Отправлено: 07 Июля, 2007 - 13:00:45
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Цитата:
PHP:
скопировать код в буфер обмена
  1.  
  2. for ($i=0; $i<mysql_num_rows($query); $i++)
  3. {
  4.    $f = mysql_fetch_array($query);
  5.    //Вывод новостей
  6.    echo "<table width=100% border=0 align=center cellspacing=0 cellpadding=0 class=tekst>";
  7.    echo "<tr><td align=center><b> $f[title]</b></td></tr>";
  8.    echo "<tr><td align=justify>$f[news] <hr color=#3366FF size=1 width=30% align=center></td></tr><tr><td align=right>$f[date]</td></tr></table>";
  9.    echo "<hr color=#3366FF size=1 width=80% align=center>";
  10. }
  11.  

А зачем так делать? Когда можно просто:
PHP:
скопировать код в буфер обмена
  1.  
  2. while($f=mysql_fetch_array($query))
  3. {
  4. //Вывод новостей
  5.    echo "<table width=100% border=0 align=center cellspacing=0 cellpadding=0 class=tekst>";
  6.    echo "<tr><td align=center><b> $f[title]</b></td></tr>";
  7.    echo "<tr><td align=justify>$f[news] <hr color=#3366FF size=1 width=30% align=center></td></tr><tr><td align=right>$f[date]</td></tr></table>";
  8.    echo "<hr color=#3366FF size=1 width=80% align=center>";
  9. }
  10.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Mister
Отправлено: 07 Июля, 2007 - 13:01:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Нет на самом деле они не пустые, они там есть просто я их на странице писать не стал. Мне кажется проблема с запросом, а может ли быть из-зи настроек самого mysql? у меня стоит topserver2.1 всё по умолчанию, даже те скрипты которые раньше на appserv или денвере работали тут не работают, а переустанавливать не хочу.


-----
..я не специалист, а только учусь
 
 Top
valenok
Отправлено: 07 Июля, 2007 - 13:06:42
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




EuGen
тогда так

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. //Подключение к базе данных и извлечение данных
  4.  include_once("config.ini");
  5.  
  6.  //Содержимое файла config.ini
  7.  /*
  8.  $server = "localhost";
  9.  $user = "root";
  10.  $passwd="";
  11.  $db="myDB";
  12.  $link = mysql_connect($server,$user,$passwd) OR exit('-');
  13. */
  14.  
  15.  
  16.  //Выбор базы данных
  17.  
  18.  //Запрос к базе данных
  19.  $query= mysql_query ("SELECT * FROM `news_lansat`;");
  20.  
  21. while($f=mysql_fetch_array($query))  //Вывод новостей  
  22.  { ?>
  23.  
  24.     <table width='100%' border='0' align='center' cellspacing='0' cellpadding='0' class='tekst'>
  25.     <tr><td align='center'><b> <?PHP echo $f['title'];?></b></td></tr>  
  26.     <tr><td align='justify'><?PHP echo $f['news']?>
  27.               <hr color='#3366FF' size='1' width='30%' align='center' /></td></tr>
  28.      <tr><td align='right'><?PHP echo $f['date']?></td></tr>
  29.      </table>  
  30.     <hr color='#3366FF' size='1' width='80%' align='center' />
  31.  <? }
  32.  


-----
Truly yours, Sasha.
 
My status
 Top
EuGen Администратор
Отправлено: 07 Июля, 2007 - 13:08:20
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну я то заметил по поводу построения цикла. Остальное смысла не меняет.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
evgenijj
Отправлено: 07 Июля, 2007 - 13:10:18
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Mister пишет:
Мне кажется проблема с запросом

Ну так выполни запрос из командной строки или через phpmyadmin. тебе не просто так ссылку привели
http://phpfaq[dot]ru/debug
Цитата:

При возникновении проблем с функциями mysql (supplied argument is not a valid MySQL result resource) под строкой, где произошла ошибка, обязательно надо вывести на экран mysql_error() и сам запрос
................................ ..................
SQL запрос - это СТРОКА. Вы должны себе чётко представлять, какой запрос получится в результате вашего хитроумного пхп-кода! Сервер БД не понимает конструкций intval, date, mktime и так далее! Это всё пхп-код. Результатом которого будет являться строка корректного SQL запроса. прежде, чем писать пхп код, вы должны ЧЁТКО СЕБЕ ПРЕДСТАВЛЯТЬ, КАК ДОЛЖЕН ВЫГЛЯДЕТЬ SQL ЗАПРОС В РЕЗУЛЬТАТЕ!
 
 Top
Mister
Отправлено: 07 Июля, 2007 - 13:13:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Тогда ошибка такая, не могу понять при чём здесь ODBC

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in T:homelocalhostlansatindex.php on line 28

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in T:homelocalhostlansatindex.php on line 28

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in T:homelocalhostlansatindex.php on line 31

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in T:homelocalhostlansatindex.php on line 31

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:homelocalhostlansatindex.php on line 33
\n\n(Добавление)
Спсасибо за помощь, я тогда пока отключаюсь, покопаюсь в чём дело и поставлю старый апач.


-----
..я не специалист, а только учусь
 
 Top
EuGen Администратор
Отправлено: 07 Июля, 2007 - 13:27:56
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Цитата:
Тогда ошибка такая, не могу понять при чём здесь ODBC

Когда не указывается юзер, коннект к нему (серверу БД) идет именно так. То есть, если ошибка такая возникает, то это значит только одно: переданный юзер - пустая строка.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB