我正在尝试从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']. '"/>
答案 0 :(得分:1)
您只需尝试以下代码。
<?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>';
}
?>
你只是忽略了你的整个路径。如果你的 &#34;图像&#34; 和 &#34;上传&#34; < / em> 文件夹位于项目的同一目录中,您只需提供路径详细信息,例如 &#34; images / uploads&#34; 。 您也可以使用此文件夹结构进行上传过程。够了。 它会显示你的图像。我试过了。它正在工作!!你试着告诉我。
答案 1 :(得分:0)
在$ sql1,你错过了一个空间SELECT名称。也许这是你的错误,因为我们不知道你的错误......
你错过了一个。$ row [&#39; item_img&#39;]
编辑。括号后同一行上还有一个空格。
我不确定但是在回声部分的末尾是否有一些点缺失?
答案 2 :(得分:0)
使用dot在sql语句中的单引号之前,如&#34;&#39;&#34;。$ type。&#34;&#39;&#34;,如果问题出在sql中,可能是它会解决你的问题