我知道这不是最好的技术,但是来自Foxpro和Dbase背景,一些习惯就不会死。我在PHP中非常新鲜,并试图重新创建我早期编程经验的学习曲线。
我已经为这个问题钻了GOOGLE,并试图拿出脚本,只有问题有时我想出了一些乱码,有时空屏,有时只有IMAGE。 场景是如果我能够创建这个简单的脚本,我可能会理解如何处理图像问题。
我的MYSQL
中有一个名为crm
的数据库。在数据库中,我有一个名为mast_cust
的表,其中包含字段f_name
,l_name
和pic
(BLOB)
我已经有了一些记录。
我的理解是:
我想要的是,以表格格式查看数据
First Name | Last Name | Image
这是我的两个脚本,即打印乱码的脚本
脚本1:主PHP文件 - list.php
脚本2:图像存储脚本:pix.php
list.php的
<?php
$errmsg = "";
if (! @mysql_connect("localhost","root","Admin"))
{
$errmsg = "Cannot connect to database";
}
@mysql_select_db("crm");
$strSQL = "select f_name,l_name,pic from mast_cust";
$rsPix = mysql_query($strSQL);
$numRows = mysql_numrows($rsPix);
$i = 0;
while($i < $numRows){
?>
<img src="pix.php?pixID=<?php echo mysql_result($rsPix,$i,"pic"); ?>"/>
<?php
$i++;
}
?>
脚本2 pix.php
<?php
$errmsg = "";
if (! @mysql_connect("localhost","root","Admin"))
{
$errmsg = "Cannot connect to database";
}
@mysql_select_db("crm");
if (IsSet($_GET['pixID'])){
$gotten = @mysql_query("select pic from pix where cust_id = ".$_GET['pixID']);
header("Content-type: image/jpeg");
while ($row = mysql_fetch_array($gotten))
{
print $row['pic'];
}
mysql_free_result($gotten);
}
?>
非常感谢您解决此问题的任何帮助。
谢谢和问候
答案 0 :(得分:0)
您似乎将jpeg图像存储为mysql中的blob。
1。)您一次只能发送一张图片。所以不需要for循环。 2.)如果是这样,您需要格式化pic的数据输出,以便浏览器可以读取它。
我建议不要采用这种方法。您应该避免使用关系数据库来存储图像。尝试将jpeg存储在常规文件系统或文件服务器(如S3)上,并将URL存储在数据库中。
如果模糊图片网址不够,请尝试以下方法: