【发布时间】:2011-12-09 00:24:53
【问题描述】:
我尝试通过以下代码使用 PHP 显示图像
<?php
header('Content-type: image/png');
$port = "*";
$server = "*:".$port;
$dbname ="*";
$user = "*";
$conn = mysql_connect ("$server", "$user", "$pass") or die ("Connection
Error or Bad Port");
mysql_select_db($dbname) or die("Missing Database");
$speakerPic = $_POST['speakerPic'];
$query = "SELECT Speaker.speaker_picture AS image FROM Speaker JOIN Contact c USING(contact_id)
WHERE c.lname = '";
$query .= $speakerPic."';";
$result = mysql_query($query,$dbname);
$result_data = mysql_fetch_array($result, MYSQL_ASSOC);
echo $result_data['image'];
?>
我不断收到此错误,图像“.../query2.php”无法显示,因为它包含错误。
很抱歉一直打扰你们,但是谁能告诉我问题出在哪里?
【问题讨论】:
-
当心来自包含脚本的任何输出。确保消除 标记之外的任何内容。事实上,你应该完全删除你的结束 ?> 标签,以确保它后面没有空格。确保您的脚本没有回显某种错误消息。
-
这些错误究竟是什么?
-
使用浏览器的开发者工具查看图片的 HTTP 请求。特别注意
Content-Length标头。看看这是否不同于几个不同图像的图像大小(我假设你已经知道)。如果不一样,差别有多大?不同图像的差异是相同的还是保持不变? -
尝试跟踪你的 php 错误日志。
-
另外,你的代码容易受到SQL injection的攻击。