За последние 24 часа нас посетили 58609 программистов и 1815 роботов. Сейчас ищут 854 программиста ...

проблема с соединением MySQL

Тема в разделе "MySQL", создана пользователем Shadofff, 28 апр 2011.

  1. Shadofff

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

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Здравствуйте, возникла следующая проблема:
    при попытке создания массива из БД выскакивает следующая ошибка
    HTML:
    1.  
    2. <b>Fatal error</b>:  Call to a member function fetch() on a non-object in <b>Z:\home\localhost\www\sll\system\users\getdata.php</b> on line <b>26</b><br />
    3.  
    вот сам код:

    PHP:
    1.  
    2. require_once('dbdata.php');
    3. //подключаемся к базе
    4.     $dbh = new PDO('mysql:host='.$dbHost.';dbname='.$dbName, $dbUser, $dbPass);
    5.     //указываем, мы хотим использовать utf8
    6.     $dbh->exec('SET CHARACTER SET utf8');
    7. ...
    8. //определяем количество записей в таблице
    9.     $rows = $dbh->query('SELECT COUNT(id_dog) AS count FROM dogovor'.$qWhere);
    10.     $totalRows = $rows->fetch(PDO::FETCH_ASSOC);
    11.  
    12.     $firstRowIndex = $curPage * $rowsPerPage - $rowsPerPage;
    13.     //получаем список  из базы
    14.     $res = $dbh->query('SELECT * FROM dogovor'.$qWhere.' ORDER BY '.$sortingField.' '.$sortingOrder.' LIMIT '.$firstRowIndex.', '.$rowsPerPage);
    15.    
    16.     //сохраняем номер текущей страницы, общее количество страниц и общее количество записей
    17.     $response->page = $curPage;
    18.     $response->total = ceil($totalRows['count'] / $rowsPerPage);
    19.     $response->records = $totalRows['count'];
    20.  
    21.     $i=0;
    22.     while($row = $res->fetch(PDO::FETCH_ASSOC)) {
    23.         $response->rows[$i]['id']=$row['id_dog'];
    24.         $response->rows[$i]['cell']=array($row['id_dog'], $row['tk'], $row['sekd'], $row['std'], $row['idman'], $row['dpz'], $row['sum'], $row['val'], $row['proc'], $row['srok'], $row['nch'], $row['cel'], $row['sob'], $row['prog'], $row['naim'], $row['stoimt'], $row['mts'], $row['modts'], $row['shema'], $row['prk'], $row['dok'], $row['dok1'], $row['dok2'], $row['dok3'], $row['rol'], $row['fiozpor'], $row['otp'], $row['ootp'], $row['sms'], $row['koment']);
    25.        
    26.        
    27.        
    28.        
    29.         $i++;
    30.     }
    31.     echo json_encode($response);
    32. }
    33. catch (Exception $e) {
    34.     echo json_encode(array('errMess'=>'Error: '.$e->getMessage()));
    35. }
    36.  
    В принципе все верно! Но откуда эта ошибка никак не могу разобраться... Кто сталкивался с PDO - прошу у Вас помощи.
     
  2. Shadofff

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

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Кстати, вот код dbdata.php:
    PHP:
    1.  
    2. $dbName = 'expert';
    3. $dbUser = 'root';
    4. $dbPass = '';
    5. $dbHost = 'localhost';
    6.  
     
  3. Shadofff

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

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Подозреваю что ошибка именно в структуре самой БД, а не кода(((((
     
  4. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Shadofff,
    подозреваю, что класс отсутствует.
     
  5. Shadofff

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

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Не понятно какой именно.. Более развернуто можно?
     
  6. Shadofff

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

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Спасибо! Разобрался сам! Глупейшая ошибка....