Я хочу получить все значения image_name
из одной из моих таблиц, где category
и account_id
совпадают.
Запрос объединяет 3 таблицы.
Я использую mysqli.
SELECT image_name
FROM add_images, item, user_item
WHERE user_item.account_id = '$accountId' AND item.category = '$category';
Однако, когда этот запрос выполняется и var_dump()
результат, я нахожу только первую запись? должно быть 8 пунктов?
Я подтвердил это, вернув count()
в массиве, который возвратил 1.
Если я запускаю этот запрос в phpmyadmin, запрос выполняется успешно, и он находит все 8 элементов, однако они повторяются 8 раз, не знаете, что это значит?
Я заменил image_name
на *
, также я попытался image_name.*
и image_name*
, но все не удалось в моем коде и в phpmyadmin.
Когда я выбрасываю объект, я получаю:
object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(1) ["lengths"]=> NULL ["num_rows"]=> int(512) ["type"]=> int(0) } int(1) string(29)
Я также попробовал следующее, предложенное в:
Как получить все значения в столбце с помощью PHP?
while($row = mysqli_fetch_array($result,MYSQL_ASSOC))
но предлагаемый код также не работает.
Ниже мой код:
public function searchItems($accountId, $catagory,$userId){
$imagePath = "D:\imagesdb\images\\" . $userId;
$thumb_path = $imagePath . "t\\";
$conn = $this->create_connection('read');
$sql = "SELECT image_name FROM add_images, item, user_item WHERE user_item.account_id='$accountId' AND item.catagory='$catagory'";
$result = $conn->query($sql)or die(mysql_error());
var_dump($result);
while ($row = mysqli_fetch_array($result)){
$path = $thumb_path . $row['image_name'];
$result = count($path);
var_dump($result);
return $path;
}
$conn->close();
}
Я также попробовал подготовленное утверждение, у меня та же проблема, которую я ожидал!
У кого-нибудь есть предложения, пожалуйста? Это сводит меня с ума!