Следующее работает без каких-либо проблем, когда photoId находится непосредственно в инструкции, а не в переменной.
$img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "103"') or die(mysqli_error($con));
но следующее просто не будет работать без ошибок, что может привести к тому, что это невозможно выбрать.
$imageid = '103'; $img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "$imageid"') or die(mysqli_error($con)); $img_row = mysqli_fetch_array($img_query); echo $img_row['img'];
Это внутри цикла while.
while($row = mysqli_fetch_array($somequery)){ $imageid = $row['photoid']; $img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "$imageid"') or die(mysqli_error($con)); $img_row = mysqli_fetch_array($img_query); echo $img_row['img']; }
Благодарю.
в php a '
и a "
очень разные, а синтаксис запроса – это двойная цитата вокруг запроса и одиночная кавычка вокруг переменных. Хотя я бы рекомендовал вам использовать параметры в вашем запросе, а не просто поместить переменную непосредственно в запрос
$imageid = '103'; $query = $con->prepare("SELECT * FROM imgs WHERE photoid = ?"); $query->bind_param('sssd', $imageid); $query->execute();
это всего лишь гайки и болты … если вы хотите получить дополнительную информацию о подключении .. обработка ошибок и все остальное читать DOCS
существует большая разница между '
и "
в php
Различия
измените свой запрос, чтобы
$img_query = mysqli_query($con, "SELECT * FROM imgs WHERE photoid = '$imageid'") or die(mysqli_error($con));
и он должен работать.