Позвольте мне объяснить. У меня есть простой запрос, который работает, когда я тестировал его на phpmyadmin, но он не возвращает правильный ответ в моем веб-приложении.
Это функция, которая выполняет запрос:
function GetProductsFromCategoryId($categoryId)
{
global $db;
$query = '
SELECT *
FROM `products`
WHERE categoryID = 3';
try {
$statement = $db->prepare($query);
//$statement->bindValue(':categoryId', $categoryId);
$statement->execute();
$result = $statement->fetch();
$statement->closeCursor();
return $result;
} catch (PDOException $e) {
$error_message = $e->getMessage();
display_db_error($error_message);
}
}
обычно categoryID = $ categoryID, но я жестко закодировал его как "3", потому что хотел увидеть результаты. Существует целый другой файл базы данных, который обрабатывает соединение, и я могу опубликовать их, если хотите, но другие функции работают нормально. Это шаблон, который я использую из книги Мурача, глава 24. Эта функция - моя, немного измененная.
С помощью SELECT * функция должна возвращать 2 массива для каждого продукта, как вы увидите позже, когда я отправлю свой результат из phpmyadmin. Вместо этого он возвращает только 1 массив для одного продукта.
Это запрос, который я запустил в phpmyadmin:
SELECT * FROM `products` WHERE categoryID=3;
и результат:
9 3 ludwig Ludwig 5-piece Drum Set with Cymbals This product includes a Ludwig 5-piece drum set an... 699.99 30.00 2010-07-30 12:46:40
10 3 tama Tama 5-Piece Drum Set with Cymbals The Tama 5-piece Drum Set is the most affordable T... 799.99 15.00 2010-07-30 13:14:15
Итак, как вы можете видеть, он должен возвращать массив 2, поскольку это то, что должна делать функция fetch (), но возвращает только один массив. У меня есть xdebug, настроенный с netbeans и смотрящий на переменную $ result, он имеет 1 массив с productName "Ludwig 5-piece ..."
Я застрял на этом в течение 3 дней, и я понятия не имею, почему это не работает. Пожалуйста, помогите!
Спасибо !!!
PS: вот продукты на столе в базе данных
1 1 strat Fender Stratocaster The Fender Stratocaster is the electric guitar des... 699.00 30.00 2009-10-30 09:32:40
2 1 les_paul Gibson Les Paul This Les Paul guitar offers a carved top and humbu... 1199.00 30.00 2009-12-05 16:33:13
3 1 sg Gibson SG This Gibson SG electric guitar takes the best of t... 2517.00 52.00 2010-02-04 11:04:31
4 1 fg700s Yamaha FG700S The Yamaha FG700S solid top acoustic guitar has th... 489.99 38.00 2010-06-01 11:12:59
5 1 washburn Washburn D10S The Washburn D10S acoustic guitar is superbly craf... 299.00 0.00 2010-07-30 13:58:35
6 1 rodriguez Rodriguez Caballero 11 Featuring a carefully chosen, solid Canadian cedar... 415.00 39.00 2010-07-30 14:12:41
7 2 precision Fender Precision The Fender Precision bass guitar delivers the soun... 799.99 30.00 2010-06-01 11:29:35
8 2 hofner Hofner Icon With authentic details inspired by the original, t... 499.99 25.00 2010-07-30 14:18:33
9 3 ludwig Ludwig 5-piece Drum Set with Cymbals This product includes a Ludwig 5-piece drum set an... 699.99 30.00 2010-07-30 12:46:40
10 3 tama Tama 5-Piece Drum Set with Cymbals The Tama 5-piece Drum Set is the most affordable T... 799.99 15.00 2010-07-30 13:14:15
Первый столбец - идентификатор продукта, а второй столбец - идентификатор категории.