Как запустить sql-запрос внутри цикла while другого запроса

Следующее работает без каких-либо проблем, когда 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)); 

и он должен работать.