Как найти информацию в строке по ID?
Я совсем новичок в mysql и php, и у меня возникла с выводом данных в моей таблице. Допустим, у меня уже есть готовая таблица buyorders вида:
order_id order_desc order_amount
1 покупка тестового товара 1999
order_id - id моего заказа, order_desc - описание заказа, order_amount - цена заказа. Как найти по id заказа строку, и занести order_desc в $description, а order_amount в $amount?
Пробовал вариант:
<?php
$order_id;
$order_desc;
$order_amount;
$connect = mysqli_connect('localhost','root','пароль','orders');
if(isset($_GET["id"])){
$order_id = $_GET["id"];
}
$result = $connect->query("SELECT `order_amount` FROM `buyorders` WHERE `order_id` = '{$order_id}'");
$result = mysqli_fetch_array($result);
echo $result;
id в данном случае берется из поисковой строки, и вносится в переменную, но данный метод не работает! Выдаёт следующую ошибку
Array to string conversion in /var/www/сайт.site/pay/test.php on line 18 Array
Ответы (1 шт):
mysqli_fetch_array() возвращает массив в котором каждый элемент это строка из базы данных и является массивом колонок из это строки, где ключ массива это имя колонки указанной в SELECT запроса, а значение - значение этой колонки.
Поэтому можно сделать так:
<?php
$order_id;
$order_desc;
$order_amount;
$connect = mysqli_connect('localhost','root','пароль','orders');
if(isset($_GET["id"])){
$order_id = $_GET["id"];
}
$result = $connect->query("SELECT `order_amount`, `order_desc`, FROM `buyorders`
WHERE `order_id` = '{$order_id}'");
$result = mysqli_fetch_array($result);
$order_desc = $result[0]['order_desc'];
$order_amount = $result[0]['order_amount'];
echo $result;