Вывод изображения через img в echo PHP

Есть код php который находится внутри html, ругается на строчку с тегом img, что здесь не так?

<?php
    $dbUser = 'xxx';
    $dbName = 'yyy';
    $dbPass = 'zzz';
    $mysqli = new mysqli('localhost', $dbUser, $dbPass, $dbName);
    $query = "SET something utf8";
    $mysqli->query($query);
    $query = "SELECT * from something";
    $results = $mysqli->query($query);
    while($row = $results->fetch_assoc()){
        echo "
        <div onclick='location.href='card.php';' class='product'>
            <div class='product-img'>
                <img src='.$row["ImgFile"].'>
                <div class='description'>
                    <a href='' class='price'>.$row["price"].</a><br>
                    <a href='' class='name'>.$row["name"].</a>
                </div>
            </div>
        </div>
        ";
    }
?>

Ответы (1 шт):

Автор решения: Алексей Шиманский

Т.к. переменная уже находится в строке, которая начинается с двойных кавычек, то интерпретатор считает двойные кавычки у массива как закрытие строки и открытие новой. Вам надо закрыть и открыть строку в другом месте:

src='" . $row['imgFile'] . "'>

Тоже самое с другими местами применения массива.

А ещё можно вставлять переменные прямо в строку вот так

src='{$row["imgFile"]}'>

А ещё можно использовать HEREDOCNOWDOC

→ Ссылка