Почему-то у меня PHP выводит только первое значение из бд, как решить?
$mysql = mysqli_connect($c['host'], $c['user'], $c['pass'], $c['db']);
$sql=mysqli_query($mysql,"SELECT * FROM dle_users WHERE user_id = '".$_COOKIE['dle_user_id']."'");
while($row=mysqli_fetch_array($sql)){
$pro = mysqli_connect($c['host'], $c['user'], $c['pass'], $c['db']);
$prod=mysqli_query($pro, "SELECT * FROM dle_products ");
while($pdo = mysqli_fetch_array($prod, MYSQLI_BOTH)){
if(file_exists('buy/mc/'.$pdo['item_id'].'.png')){
$img = 'buy/mc/'.$pdo['item_id'].'.png';
} else {
$img = 'buy/mc/unknown.png';
}
$image = '<img src="'.$img.'" alt="'.$pdo['name'].'">';
echo'
<i class="fa fa-info" aria-hidden="true" title="'.$pdo['description'].'"></i>
'.$pdo['name'].'<br />
'.$image.'<br />
'.$pdo['price'].' '.$valet.' за '.$pdo['amount'].' шт';
}
mysqli_close($pro);
}
mysqli_close($mysql);
Код вроде оформил правильно, но всё-равно выводит только первое значение из БД
mysqli_query($mysql,"SELECT * FROM dle_users WHERE user_id = '".$_COOKIE['dle_user_id']."'");
нельзя подставлять значения, пришедшие от пользователя прямо в запрос. Нужно использовать подготовленные запросы. $pro = mysqli_connect($c['host'], $c['user'], $c['pass'], $c['db']);
делать второе соединение в данном случае бессмысленно и беспощадно. while($row=mysqli_fetch_array($sql)){
значение $row нигде не используется. Проверка на существование пользователя проводится несколько иначе. mysqli_close($pro);
закрытие соединения делать не обязательно (за исключением редких случаев)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Весь код выполняется в одном файле indexphp
В контроллере, в методе beforeAction делаю некую проверку и если она не проходит, надо выкинуть ошибкуДелаю так
Пытаюсь применить миграцию базы на локальном хосте, отдаёт ошибку:
В первой строке задана длина исходного массиваВо второй - сам массив