Задать вопрос
@AKBAR_ODILOV
Необычный чел.

Как исправить ошибку, php?

Не могу найти ошибку, помогите пожалуйста;
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in R:\home\test1.ru\www\inc\print_added_users.php on line 5

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in R:\home\test1.ru\www\inc\print_added_users.php on line 9
<?php
	$result = mysql_query("SELECT `name` FROM `added_users`");
	(5)$myrow = mysql_fetch_array ($result); 
	do { 
		printf ("%s", $myrow["name"]); 		  		  
	}
	(9)while ($myrow = mysql_fetch_array ($result));	
?>
  • Вопрос задан
  • 276 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 3
Stalker_RED
@Stalker_RED
В простейшем случае - вывести ошибку.
<?php
  $result = mysql_query("SELECT `name` FROM `added_users`")
    or die("Invalid query: " . mysql_error());
  $myrow = mysql_fetch_array ($result); 
  do { 
    printf ("%s", $myrow["name"]); 		  		  
  }
  while ($myrow = mysql_fetch_array ($result));


Еще лучше написать (или использовать готовую) обертку для mysql_ функций, которая отлавливала бы ошибки.
Ответ написан
для начала: библиотека mysql уже устарела, следует использовать mysqli, во вторых: очевидно же, что ошибка в запросе, либо нет соединения с БД
$result = mysql_query("SELECT `name` FROM `added_users`") or die(mysql_error());
Ответ написан
thewind
@thewind
php программист, front / backend developer
Вам же прямо пишут, что $result имеет тип boolean, а точнее он там будет false. Это значит, что в запросе ошибка.
В вашем случае, напишите после mysql_query, echo mysql_error() - он выведет, что не так.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@raventid
Нужно подправить код, что за (5) и (9)?
По делу - проверьте креды для доступа к базе, где происходит подключение, вероятней всего у вас не установленно соединение.
Ответ написан
Комментировать
EvolMate
@EvolMate
Developer
У вас установлено соединение с базой?
$link = mysql_connect('localhost', 'username', 'password');
$result = mysql_query("SELECT `name` FROM `added_users`",$link);
// ...


mysql_query возвращает false в случае, если запрос произошел с ошибкой.

Можно написать var_dump(mysql_error()); чтобы получить код этой ошибки.

Как уже упоминали здесь в ответах - если есть возможность - пользуйтесь mysqli или PDO.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы