Добрый день. Прошу прощения что отвлекаю по пустякам и думаю для многих это не является проблемой. При переделывании кода возникла проблема. Задача была вывести данные о покупке товара в профиль пользователя. Вот код оригинала :
PHP:
function product_list($con){ $product_list = «SELECT * FROM orders WHERE user_id = ‘».$_SESSION[‘user_date’][‘user_id’].«‘»; $result_arr = mysqli_fetch_all($result,MYSQLI_ASSOC); $i = 1; foreach($result_arr as $key=>$value){ echo «<p class=\»product_list\»>»; echo «<b>(«.$i.«)</b> »; $i++; order_pay($result_arr[$key],$con); echo «</p>»; } } function order_pay($array, $con){ foreach($array as $k=>$v){ if($k === ‘product_id’){ $order_query = «SELECT * FROM product WHERE product_id = ‘».$v.«‘»; echo «<b>Наименование товара:</b> {$result[‘product_name’]}; »; }elseif($k === ‘order_value’){ echo «<b>Количество товара:</b> {$v}; »; }elseif($k === ‘order_costs’){ echo «<b>Стоимотсь заказа:</b> {$v}; »; }elseif($k === ‘order_date’){ } } }А вот переделанный мной.
PHP:
function product_list($conn){ $id = $_SESSION[‘user_date’][‘user_id’]; $product_list = «SELECT * FROM `orders` WHERE ‘user_id’ = :user_id»; $prepare = $conn->prepare($product_list); $prepare->execute([‘:user_id’=>$id]); $result_arr = $prepare->fetchAll(PDO::FETCH_ASSOC); $i = 1; foreach($result_arr as $key=>$value){ echo «<p class=\»list\»>»; echo «<b>(«.$i.«)</b> »; $i++; product_cat($result_arr[$key],$conn); echo «</p>»; } } function product_cat($array, $conn){ foreach($array as $k=>$v){ if($k === ‘product_id’){ $query = $conn->prepare(«SELECT * FROM `product` WHERE ‘product_id’ = ‘».$v.«‘»); $query->execute(); $result = $query->fetch(PDO::FETCH_ASSOC); echo «<b>Наименование товара:</b> {$result[‘product_name’]}; »; }elseif($k === ‘order_value’){ echo «<b>Количество товара:</b> {$v}; »; }elseif($k === ‘order_costs’){ echo «<b>Стоимость покупки:</b> {$v}; »; }elseif($k === ‘order_date’){ } } }Соединения отличаются $con и $conn это так было задуманно и не является ошибкой.
Надеюсь на помощь, или хотя бы направление где копать.
Если бы еще написал в чём проблема, то легче было бы найти решение. Код ошибки или пояснения будут только кстати.
Не выводились данные о купленных товарах.
Ошибка была банальная и глупая. В select запросах кавычки везде должны были быть ` а не ‘ . Теперь все работает корректно. Спасибо за внимание к вопросу.
— Добавлено —
Сам я новичок и бывает туплю. Как говорится заблудился в трех соснах.
Так же заметил такой нюанс, что если в запросе стоит составная колонка table.column То в этом случае её лучше не обрамлять в кавычки! По крайней мере так работает! Но может меня поправят знатоки и подскажут как-то ещё ???
Бред. Я тебе написал, как надо было делать, но ты проигнорил. И продолжаешь путать два разных вида кавычек после написанного мной. Это дно.
Кстити, нафига менять мускулай на ПДО? Заняться больше нечем? Код говорит об обратном
Код (Text):
`schema`.`table`.`column`
Большое спасибо попробую.
Похожие записи:
- Получить данные для времени по timestamp
- Как организовать структуру хранения атрибутов?
- Не получается поместить элементы в массив php
- При изменении из mysqli на PDO возникла ошибка
- Декодирование пакетного сценария, который использует FFMPEG, EXIFTOOLS и EXIV2 для создания панорамных изображений VR180 и VR360, таких как Google Cardboard

