【发布时间】:2013-05-25 04:55:49
【问题描述】:
我正在尝试制作一个简单的搜索查询脚本,它将从表单中提取结果并相应地从数据库中返回结果。
'connect.php'
<?php
$strServer = "http://server33.000webhost.com";
$strDatabase = "******";
$strUser = "******";
$strPwd = "******";
$strDB = mysql_connect($strServer, $strUser, $strPwd) or die ("Could not connect to database"); print mysql_error();
$database = mysql_select_db("$strDatabase", $strDB); print mysql_error();
?>
'search.php'
<?php
ini_set ('display_errors', 1);
include ('connect.php'); print mysql_error();
$query = ('SELECT * FROM 'properties' WHERE ('type' = '$_POST['type']') OR ('area' = '$_POST['area']')');
$result = mysql_query($query) or die ("Couldn't execute query."); print mysql_error();
while($r = mysql_fetch_array($result))
{
echo $r['type'];
echo $r['area'];
}
?>
我搜索了无数的论坛和教程,但看不出我做错了什么。请帮帮我!提前致谢
【问题讨论】:
-
好吧,
$query行上有冲突的引号,您正在使用mysql_*函数,并且您的 SQL 查询容易受到 SQL 注入的攻击。 -
他使用单引号作为查询字符串,同样用于 SQL。这里有一个问题:'SELECT * FROM 'properties' ...',应该是'SELECT * FROM \'properties\' ...'