2013-11-23 3 views
0

Я получаю заявление об ошибке:Ошибка с выборки() метод

вызов функции члена выборки() на не-объект в/главная/содержание/26/11794426/html/практики/дома .php on line 16

Исходя из этого, я считаю, что запрос mysql не создает объект. Тем не менее, я копирую свой код непосредственно из книги, поэтому я смущен, почему я получаю сообщение об ошибке. Это сама часть fetch() или запрос?

Кроме того, в базе данных я скопировал и вставил sql-запрос в phpmyadmin, поэтому я не думаю, что там есть ошибка, но я не исключаю.

Любые идеи?

<?php 
require_once('database.php'); 

// Get category ID 
if(!isset($category_id)) { 
    $category_id = $_GET['category_id']; 
    if (!isset($category_id)) { 
     $category_id = 1; 
    } 
} 

// Get name for current category 
$query = "SELECT * FROM categories 
      WHERE categoryID = $category_id"; 
$category = $db->query($query); 
$category = $category->fetch(); 
$category_name = $category['categoryName']; 

// Get all categories 
$query = 'SELECT * FROM categories 
      ORDER BY categoryID'; 
$categories = $db->query($query); 

// Get products for selected category 
$query = "SELECT * FROM products 
      WHERE categoryID = $category_id 
      ORDER BY productID"; 
$products = $db->query($query); 

?> 

это то, что мой файл database.php выглядит следующим образом:

<?php 

$dsn = 'mysql:host=guitarshop27.db.11794426.hostedresource.com;dbname = guitarshop27'; 
$username = 'changed'; 
$password = 'changed'; 

try { 
    $db = new PDO($dsn, $username, $password); 
}catch (PDOException $e) { 
    $error_message = $e->getMessage(); 
    include('database_error.php'); 
    exit(); 
    } 
    ?> 
+0

Когда это произойдет, то, скорее всего, запрос неудачу –

ответ

0
$category = $db->query($query); 
$categorys = $category->fetch(); 
$category_name = $categorys['categoryName']; 
0

Вы можете попробовать его с FETCH_ASSOC();

$query = "SELECT * FROM categories 
      WHERE categoryID = $category_id"; 
$category = $db->query($query); 
$category = $category->fetch_assoc(); 
$category_name = $category['categoryName']; 

Но проблема связана с базой данных. Где это определено?

0

Try для отладки кода, а также добавить это добавить код

// Get name for current category 
$query = "SELECT * FROM categories 
      WHERE categoryID = $category_id"; 
$category = $db->query($query); 
echo mysql_nun_rows($category); 
$categories = $category->fetch(); 
$category_name = $categories['categoryName']; 

, если вы найдете еще ошибка, то проверьте подключение к базе данных

Смежные вопросы