За последние 24 часа нас посетили 22477 программистов и 1143 робота. Сейчас ищут 656 программистов ...

mysql_fetch_array() expects parameter 1 to be resource, bool

Тема в разделе "MySQL", создана пользователем Zibba, 24 янв 2010.

  1. Zibba

    Zibba Активный пользователь

    С нами с:
    24 янв 2010
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте!!

    Возникла ошибка вот такая

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\www\xampp\htdocs\report.php on line 7

    Запрос в базу:


    mysql_query ("select depart_id,mm_name,house_num, indexx, P_name, term
    from depart,subscr,sub_pub,mm,departs,public
    where house_num=address and subscr.subscr_id=sub_pub.subscr_id and departs.mm_id=mm.mm_id and public.pub_id=sub_pub.pub_id and depart_id=dep_id
    order by depart_id;");

    не могу понять где ошибка. Пожалуйста помогите))
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
  3. Zibba

    Zibba Активный пользователь

    С нами с:
    24 янв 2010
    Сообщения:
    3
    Симпатии:
    0
    Спасибо))

    Unknown column 'indexx' in 'field list'

    Но поле такое в базе есть. странно(
     
  4. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Полям рекомендуется подставлять префикс таблицы, раз уж используется несколько полей в запросе

    Код (Text):
    1. SELECT `mytable`.`myfield` FROM `mytable`
     
  5. Zibba

    Zibba Активный пользователь

    С нами с:
    24 янв 2010
    Сообщения:
    3
    Симпатии:
    0
    не помогает:( ПРоблема в том что если этот запрос в phpMyAdmin Вставить и запустить, то все прекрасно работает...
     
  6. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    так попробуйте в запросе идти от простого к сложному
    select depart_id from depart
    и так далее, пока не перестанет работать. быстрее найдете свою ошибку.
     
  7. Priania

    Priania Активный пользователь

    С нами с:
    5 мар 2011
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Иркутск
    Столкнулась с такой же ошибкой, почитала советы, помогло упрощение запроса, но при дальнейшем написании своего форума по учебнику пришлось редактировать файл httpd.conf, это тоже не повлияло на формирование таблиц с сообщениями. Но потом магическим образом при повторном обновлении страницы, когда я решила заново все ссылки протестировать, снова появилась ошибка "mysql_fetch_row() expects parameter 1 to be resource, boolean given".
    Это при том, что я код вообще не меняла. Подскажите, пожалуйста, что можно ещё поисправлять, чтоб избавиться от этой проблемы. Копировала рабочий файл у подруги, мы с ней вместе изучаем, та же картина.
     
  8. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    а вы покажите код, который можно поисправлять)
     
  9. Benjamin

    Benjamin Активный пользователь

    С нами с:
    23 янв 2009
    Сообщения:
    154
    Симпатии:
    0
    Адрес:
    Тула
    Код (Text):
    1. Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\www\xampp\htdocs\report.php on line 7
    Так и передавайте первым параметром resource, а не boolean.
     
  10. Max 332

    Max 332 Активный пользователь

    С нами с:
    6 мар 2011
    Сообщения:
    9
    Симпатии:
    0
    Здравствуйте!
    Подскажите, пожалуйста, возникла такая же ошибка: "Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\label.php on line 101"

    Вот php-код:
    Код (Text):
    1.  
    2. $mysql_database="sparepart";
    3. $mysql_username="root";
    4. $mysql_password="";
    5. $mysql_host="localhost";
    6.  
    7. $db = mysql_connect($mysql_host, $mysql_username, $mysql_password);
    8. mysql_select_db($mysql_database,$db);
    9.  
    10. $sql= mysql_query("SELECT DISTINCT Model, Edition FROM Store WHERE Brand='$brand' ORDER BY Model",$db);
    11.  
    12. while ($row = mysql_fetch_row($sql)) {
    13.      $models[$i]=mysql_result($result,1);
    14.      $edition[$i]=mysql_result($result,2);
    15.      $i++;
    16. }
    Заранее благодарю!
     
  11. runner

    runner Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    Max 332
    Эта ошибка сигнализирует от том, что сам запрос составлен неверно. Замени свой код на следующий и посмотри что за ошибка:
    Код (PHP):
    1. $mysql_database="sparepart";
    2. $mysql_username="root";
    3. $mysql_password="";
    4. $mysql_host="localhost";
    5.  
    6. $db = mysql_connect($mysql_host, $mysql_username, $mysql_password);
    7. mysql_select_db($mysql_database,$db);
    8.  
    9. $sql= mysql_query("SELECT DISTINCT Model, Edition FROM Store WHERE Brand='$brand' ORDER BY Model",$db);
    10. if($sql)
    11. {
    12.     while ($row = mysql_fetch_row($sql)) {
    13.         $models[$i]=mysql_result($result,1);
    14.         $edition[$i]=mysql_result($result,2);
    15.         $i++;
    16.     }
    17. }
    18. else
    19. {
    20.     print mysql_error();
    21. }
    22.  
     
  12. Max 332

    Max 332 Активный пользователь

    С нами с:
    6 мар 2011
    Сообщения:
    9
    Симпатии:
    0
    Спасибо большое, пишет ошибку: "No database selected". В связи с этим вопрос, заранее извиняюсь за возможную глупость. Я перед этим подключал бд Access и там необходимо было подключить её через ODBC в панели управления. Потом так вышло, что мне пришлось менять базу на Mysql, для этого я использовал программу под названием "Bullzip MS Access to MySQL". Был создан документ под названием "sparepart.sql", после чего я поменял запросы на выше указанные. Ну и собственно вопрос, может мне необходимо сделать что-то ещё или что-то я сделал неправильно?) Буду очень благодарен за ответ.
     
  13. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Установить MySQL Server и залить в него дамп sparepart.sql
     
  14. Max 332

    Max 332 Активный пользователь

    С нами с:
    6 мар 2011
    Сообщения:
    9
    Симпатии:
    0
    Спасибо, так и сделал. У меня сервер был (денвер устанавливал).
    Ещё раз большое спасибо всем кто откликнулся)
     
  15. Freed23

    Freed23 Активный пользователь

    С нами с:
    21 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Еще 1 вопрос чайника. Я тоже ставил Денвер. Код похож, отредактировал как вы советовали Max 332. Та же ошибка "No database selected". Как быть в этом случае, я начинал сразу с mysql? В случае чего могу базу переписать.
    Ps. Только запрос был mysql_fetch_array.
    Браузер "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\PHP\mysql.php on line 23"
     
  16. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Freed23
    Ты не забыл до запроса в коде вызвать mysql_select_db?
     
  17. Freed23

    Freed23 Активный пользователь

    С нами с:
    21 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Apple нет. Но огромнейшее тебе спасибо)). Указал мне на ошибку - название базы данных firstdb (first DataBase) а свои мольбы в mysql_select_db я взывал к firstbd (fist Bаза Dанных) вот))
     
  18. Benjamin

    Benjamin Активный пользователь

    С нами с:
    23 янв 2009
    Сообщения:
    154
    Симпатии:
    0
    Адрес:
    Тула
    ))))))))
     
  19. Anna5471

    Anna5471 Активный пользователь

    С нами с:
    30 июн 2011
    Сообщения:
    1
    Симпатии:
    0
    Добрый день, я только начала изучать php знаю не много объясните пожалуйсто простым языком в чем ошибка, сайт на wamp
    постоянно выдает
    ( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\mysite.loc\index.php on line 4

    файл index.php

    Код (Text):
    1.  
    2. <?php
    3. include("blocks/bd.php"); /*   */
    4. $result = mysql_query("SELECT title, meta_d, meta_k, text FROM settings WHERE page='index'",$db);
    5. $myrow = mysql_fetch_array ($result);?>
    6.  
    7.  
    8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    9. <html>
    10. <head>
    11. <meta name="description" content="<?php echo $myrow ['meta_d']; ?>">
    12. <meta name="keywords" content="<?php echo $myrow ['meta_k'];?>">
    13. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    14. <title><?php echo $myrow['title'];?>В следущей жизни когда я стану кошкой</title>
    15. <link href="style.css" rel="stylesheet" type="text/css">
    16. </head>
    17. <body>
    18. <table width="1000" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
    19. <!--  -->
    20. <?php include ("blocks/header.php")   ?>  
    21. <tr>    
    22. <td><table width="1000" border="0">      
    23. <tr>      <!--   -->     
    24. <?php   include ("blocks/left.php")    ?>        
    25. <td width="794" valign="top">        
    26. <?php echo $myrow['text']; ?>          
    27. </td>      
    28. </tr>    
    29. </table>
    30. </td>  
    31. </tr>  
    32. <!--   -->
    33. <?php  include ("blocks/footer.php"); ?>
    34. </table>
    35. </body>
    36. </html>
     
  20. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    ошибка в файле bd.php

    А если простым языком - вперед на форум Попову и спрашивайте.
     
  21. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    думаю, что запрос было бы неплохо переделать на
    Код (PHP):
    1. <?php $result = mysql_query("SELECT `title`, `meta_d`, `meta_k`, `text` FROM `settings` WHERE `page`='index'", $db) or die(mysql_error()); 
     
  22. AnastaAra

    AnastaAra Активный пользователь

    С нами с:
    13 дек 2011
    Сообщения:
    1
    Симпатии:
    0
    ПОМОГИТЕ МНЕ ПРОШУУУУ ВАС!!!!!
    я уже не знаю что и делать....

    моя ошибка Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\kurcah.loc\www\save_user.php on line 27
    Ошибка! Вы не зарегистрированы.


    Код (Text):
    1.  <?php
    2. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
    3. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    4. //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
    5.  
    6. if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    7. {
    8. exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!");
    9. }
    10. //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    11. $login = stripslashes($login);
    12. $login = htmlspecialchars($login);
    13.  
    14. $password = stripslashes($password);
    15. $password = htmlspecialchars($password);
    16.  
    17. //удаляем лишние пробелы
    18. $login = trim($login);
    19. $password = trim($password);
    20.  
    21.  
    22. // подключаемся к базе
    23. include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
    24.  
    25. // проверка на существование пользователя с таким же логином
    26. $result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
    27. $myrow = mysql_fetch_array($result);
    28. if (!empty($myrow['id'])) {
    29. exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
    30. }
    31.  
    32. // если такого нет, то сохраняем данные
    33. $result2 = mysql_query ("INSERT INTO users (login,password) VALUES('$login','$password')");
    34. // Проверяем, есть ли ошибки
    35. if ($result2=='TRUE')
    36. {
    37. echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
    38. }
    39.  
    40. else {
    41. echo "Ошибка! Вы не зарегистрированы.";
    42.      }
    43. ?>
    :!:
     
  23. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    переделать на
    это поможет выяснить ошибку.

    хорошо было бы всегда использовать or die(mysql_error()) при каждом mysql_query
     
  24. keep911

    keep911 Активный пользователь

    С нами с:
    19 мар 2013
    Сообщения:
    3
    Симпатии:
    0
    Re: mysql_fetch_array() expects parameter 1 to be resource,

    Здравствуйте. Будьте так любезны, подсказать в чем проблема. Выскочила ошибка
    Warning: fopen(/home/vhosts/.../logs/error.txt): failed to open stream: Permission denied in /home/vhosts/..../system/library/log.php on line 12
    Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/vhosts/.../system/library/log.php on line 14
    Warning: fclose() expects parameter 1 to be resource, boolean given in /home/vhosts/.../system/library/log.php on line 16

    Код страницы
    <?php
    class Log {
    private $filename;

    public function __construct($filename) {
    $this->filename = $filename;
    }

    public function write($message) {
    $file = DIR_LOGS . $this->filename;

    $handle = fopen($file, 'a+');

    fwrite($handle, date('Y-m-d G:i:s') . ' - ' . $message . "\n");

    fclose($handle);
    }
    }
    ?>
     
  25. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Re: mysql_fetch_array() expects parameter 1 to be resource,

    Написано же:
    что означает "доступ запрещён". Если с английским беда - в интернете полно электронных переводчиков.
    На 12-й строке в скрипте используется функция fopen, которая должна открыть файл для записи. Далее используется функция, которая должна произвести запись в файл, после чего функция для закрытия файла. Однако доступ к тому файлу, который пытается открыть fopen - запрещён настройками системы. В результате fopen не может его открыть, далее fwrite - не может произвести запись (поскольку файл не открыт), и fclose не может закрыть (по той же причине). Об этом PHP и сообщает.