0

I am getting error when I try to echo image in PHP. Here is my code:

$sql = "SELECT id, title, filename FROM images";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    $pathx = "directory/images/";

    echo '
    <img src = "'$pathx'.'$row["filename"]'">
    ';
    //filenames in database end with appropriate image extensions like .png

}

And I am getting this error: Parse error: syntax error, unexpected '$pathx' (T_VARIABLE), expecting ',' or ';' in C:\xampp\htdocs\display.php on line 29

I have checked solutions from similar questions from here on Stackoverflow and implemented some of the accepted answers still my problem is not solved.

meanwhile something like the code below works well. So why is the one above not working?

echo'<img src = "directory/images/girl-g2109_5_720.jpg">';
Elizabeth Kof
  • 65
  • 1
  • 2
  • 8

4 Answers4

4

Do like this

$pathx = "directory/images/";
$file = $row["filename"];

echo '<img src="'.$pathx.$file.'">';

Output

<img src="directory/images/girl-g2109_5_720.jpg">
Abdulla Nilam
  • 36,589
  • 17
  • 64
  • 85
1
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    $pathx = "directory/images/";
    echo '<img src = "'.$pathx.$row["filename"].'">';
}

OR use can also use following way to render img tag

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    $pathx = "directory/images/"; ?> 
    <img src = "<?php echo $pathx.$row["filename"] ?>">
<?php } ?>
Bhupendra Mistry
  • 598
  • 3
  • 11
1

It looks like there is an issue with the array concatenation.

The string '<img src = "' and variable $pathx are not concatenated properly.

There should be a concatenation operator ('.') in between.

Change the code to the following format to fix the issue.

Code

echo '<img src = "' . $pathx . $row["filename"] . '">';

Output

<img src="directory/images/girl-g2109_5_720.jpg">
RamC
  • 1,287
  • 1
  • 11
  • 15
1

Try this

There are multiple ways to display the image. You can also use like this.

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    $image=$row["filename"];
?>
<img src="directory/images/<?php echo $image;?>">
<?php
}
 ?>

Output

<img src="directory/images/image_name.png">
Naren Verma
  • 2,205
  • 5
  • 38
  • 95