繁体   English   中英

使用php从MySQLi从数据库检索图像不起作用

[英]retriving image from from database through mysqli using php is not working

我正在尝试从php中的mysql上传和检索图像。 当我尝试检索图像时,上传部分工作正常,这给了我错误。 我尝试了不同的逻辑,但我认为我没有写一个:(。connection.php

<?php
$servername = "localhost";
$username = "root";
$pass = "";
$dbname = "hightech"; 
// Create connection
$conn = new mysqli($servername, $username, $pass, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

上传

//file upload start
    $file_result="";

        if ($_FILES["add_img"]["error"]>0){
            $file_result .= "No File uploaded or invalid File";
            $file_result .="Error Code: " . $_FILES["sound_input"]["error"] ."<br>";  
        }  
        else {

            move_uploaded_file($_FILES["add_img"]["tmp_name"],
                    "C:/wamp/www/hightech/images/uploads/" 
                    . $_FILES["add_img"]["name"]);
            $file_result .= "File upload Successful!" ;        
        }
        echo $file_result;

        //file upload end

将文件名保存在数据库中的其他数据

$sql = "INSERT INTO desktop(type,name,company,item_img,price,point1,point2,point3,point4,point5)
        VALUES ('$type','$itemname','$comp','$img','$price','$point1','$point2','$point3','$point4','$point5')";
$run=  $conn->query($sql);

从数据库中检索图像和其他数据。

 <?php             
   $sql1="SELECTname,price,point1,point2,point3,
   point4,point5,item_img       
   FROM desktop WHERE company = 'Alienware' ";
    $sel_query1= mysqli_query($conn, $sql1);
        if($sel_query1 == FALSE) { 
        die(mysqli_error()); // TODO: better error handling
        }

    while ($row = mysqli_fetch_array($sel_query1)) {
        echo'<div>'.
           '<img src="C:/wamp/www/hightech/images/uploads/'.row['item_img']. '"/>'.
           '<span>'.
             '<ul>'.
                '<li  id="item_name" style="color:red">'.$row['name'].'</li>'.
                '<li>'.$row['point1'].'</li>'.
                '<li>'.$row['point2'].'</li>'.
                '<li>'.$row['point3'].'</li>'.
                '<li>'.$row['point4'].'</li>'.
                '<li>'.$row['point5'].'</li>'.
            '<ol style="color:red;padding-left:1;font-size:18">'.$row['price'].'</ol>'.
            '<ol style="padding-left:110"> <a>'.'<img src="http://localhost/hightech/images/add.png" />'. '</a></ol>
             </ul>
          </span>

       </div>';
    }
?>

错误:解析错误:语法错误,意外的'[',期望','或';' 在第85行的C:\\ wamp \\ www \\ hightech \\ admin \\ admin_desktop.php中

85行是

<img src="C:/wamp/www/hightech/images/uploads/'.row['item_img']. '"/>

您只需尝试以下代码。

  <?php
       $sql1="SELECT fields_you want FROM `tablename` WHERE YOUR_CONDITION ";
       $sel_query1= mysqli_query($conn, $sql1);
        if($sel_query1 == FALSE) 
        { 
          die(mysqli_error()); // TODO: better error handling
        }

      while ($row = mysqli_fetch_array($sel_query1)) 
      {
        echo'<div>'.
       '<img src="images/uploads/'.$row['IMAGE_FIEDL_NAME']."/>'.'</div>';        
      }
  ?>

您只需要忽略整个路径即可。如果“ images”“ uploads”文件夹位于项目的同一目录中,则只需提供路径详细信息即可,例如“ images / uploads” 您也可以在上传过程中使用此文件夹结构。 够了 它将显示您的图像。我尝试过。 您尝试让我知道。

在$ sql1,您错过了空格SELECT名称。 也许这是您的错误,因为我们不知道您的错误...

而且您错过了。$ row ['item_img']

编辑。 括号后的同一行上还有一个空格。

我不确定,但是回声部分的末尾是否没有缺少一些点?

在SQL语句中使用点前单引号,例如“'.. $ type。”'',如果问题出在sql上,它将解决您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM