2016-10-06 4 views
0

Я пытаюсь создать страницу продукта, основанный на переданному в ID из URL, я получаю эту ошибку:

Fatal error: Cannot use object of type Product as array in E:\xampp\htdocs\DiamondCommerce\product.php on line 4

<?php 
//URL would be diamond.dev/product?{id} 
require_once 'dbconfig.php'; 
$product_id = $_GET[$product['product_id']]; 
$currentProduct = $DB_con->prepare("SELECT * FROM products where product_id = :this_product_id LIMIT 1"); 
$product_id->bindParam(":this_product_id" , $product_id); 
$currentProduct->execute(); 
$currentProductInfo = $currentProduct->fetch(PDO::FETCH_ASSOC); 
//if isset for button 
?> 
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title><?php $currentProduct['product_name']?></title> 
</head> 
<body> 
<?php 
foreach($currentProductInfo as $currentProduct) 
{ 
echo '<p>',$currentProduct['product_name'],'</p>'; 
echo '<p>',$currentProduct['product_description'],'</p>'; 
echo '<p>',$currentProduct['product_price'],'</p>'; 
echo '<p>',$currentProduct['product_image'],'</p>'; 
echo '<a href="#" class="btn btn-primary" name="addToBasket">Add to Basket</a>'; 
} 
?> 
</body> 
</html> 

URL-адрес выглядит хорошо (пример: http://diamond.dev/product.php?id=5), чего я хочу, но я не знаю, что вызывает эту ошибку. Большое спасибо за любую помощь.

+1

'? Id', и вы используете' $ _GET [$ product ['product_id']] '- где' $ _GET ['id'] '? и как заполняется «$ product»? –

+0

Я заметил, что сразу после того, как я отправил сообщение, теперь это проблема: Неустранимая ошибка: вызов функции-члена bindParam() в строке в E: \ xampp \ htdocs \ DiamondCommerce \ product.php в строке 6 – Aaranihlus

ответ

1

Ошибка происходит от этой линии:

<title><?php $currentProduct['product_name']?></title> 

Что достаточно справедливо, потому что $ currentProduct определяется как

$currentProduct = $DB_con->prepare("SELECT * FROM products where product_id = :this_product_id LIMIT 1"); 

Другими словами $ currentProduct является подготовленное заявление, а не массив. Вероятно, вы хотели использовать $currentProductInfo в своем названии.

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