【发布时间】:2012-05-27 04:54:24
【问题描述】:
过去几天我一直在尝试了解如何从多个表中获取数据,但我不能说我完全了解它的工作原理。无论如何:)
我想要做的是使用搜索栏来获取存储在多个表中的图像来定义参数,即艺术家姓名(我知道将图像存储在数据库中可能会导致很多问题,但这对大学来说是一个练习所以我真的无能为力)
所以现在具体说一下。我有 5 个表,分别称为 animaldata、cardata、landscapedata、peopledata 和 otherdata。每个表都有以下字段:1 id 2 艺术家名称 3 详细信息 4 照片 5 照片类型和 6 日期。其中artist_name 是上传图片的登录人的姓名,details 是标题,photo 是要保存的blob 项目,phototype 是图片的.. 井类型:P
所以我想做的是,当有人使用搜索栏搜索艺术家时,代码可以从艺术家上传的所有表格中获取并显示所有图像。
这是我用来从 1 个表中获取数据的代码,但我不知道如何更改它以便也搜索其他表。
那就是search.php
<?php
mysql_connect ("localhost","root","") or die (mysql_error());
mysql_select_db ("photo_album_db");
$term = $_POST['term'];
$sql = mysql_query("select * from animaldata where artist_name like '%$term%'");
while ($row = mysql_fetch_array($sql)){
echo $row['details'];
echo "</br>";
echo "<img src=getan.php?id=".$row['id']." width=250 height=200/>";
echo "</br>";
}
?>
搜索栏的形式如下:
<form action="search.php" method="post"><input type="text" name="term" /><input type="submit" name="search" value="Search" /></form>
提前感谢您的任何建议,如果您需要更多“线索”,请告诉我:) :) :)
【问题讨论】:
-
您的代码容易受到 SQL 注入的攻击。您确实应该使用准备好的语句,将变量作为参数传递到其中为 SQL 评估。如果您不知道我在说什么或如何解决它,请阅读 Bobby Tables 的故事。
-
如果他的教授尝试对他进行 SQL 注入,我发誓我会飞到那里去和那些坏蛋打个招呼!
标签: php mysql image fetch multiple-tables