Из-за explode не отображаются данные
не отображаются данные из-за explode. Я ее использую чтобы разделить запись в таблице "PLAN-1" так как из-за тире sql выдает ошибку.
<?php
connect();
$order_sql = $M->query("SELECT * FROM orders WHERE use_id='".$user['id']."' AND type='SERTIFICATE'");
close();
$plan = $order_sql->fetch_array();
$pl = explode("-", $plan['names']);
connect();
$data_sql = $M->query("SELECT * FROM usr_ssl WHERE ssl_user_id='".$plan['use_id']."'");
close();
?>
Ответы (1 шт):
Автор решения: Данил Колоколов
→ Ссылка
У вас много плохих действий:
- Открывать соединение с бд стоит только в самом начале работы всего приложения, закрывать под самый конец. Открывать/закрывать постоянно нельзя у вас во-первых бесполезная нагрузка, во-вторых у вас может нарушиться консистентность данных
- Ваша генерация запросов имеет уязвимость SQL-инъекций, поэтому думайте над экранированием и валидацией, а не подставляйте налету значения
- Используйте итератор для разбора записей после выполнения запроса
while ($row = $order_sql->fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
Хотя бы так. В лучшем случае посмотрите в сторону ORM, для более явного управления сущностями