【发布时间】:2011-01-08 16:43:04
【问题描述】:
我正在创建一个搜索站点,用户可以在其中按公司名称或表行 cat1、cat2、cat3 进行搜索。 “猫”行与公司名称在同一个表中。我已经设置好了,所以如果我搜索正确的商家,我会返回商家信息。但我需要让它显示具有您搜索的类别名称的企业。
**基本上我要求的是获取搜索 (php) 以搜索企业名称或三个类别之一。
任何帮助,将不胜感激...这是我的代码以备不时之需(虽然我认为这应该是一项非常简单的任务,但也许不是,我是 PHP 初学者)
include('config.php');
$var = $_REQUEST['search'];
$trimmed = trim($var);
$search = ucfirst($var);
$result = mysql_query("SELECT * FROM gj WHERE name like '%$search%' ORDER by name") or trigger_error(mysql_error());
$num_rows = mysql_num_rows($result);
然后我使用 while 循环从中获取所有代码。
while($row = mysql_fetch_array($result))
{
$id=$row['id'];
$name=$row['name'];
$phone=$row['phone'];
$website=$row['website'];
$city=$row['city'];
$address=$row['address1'];
$zipcode=$row['zipcode'];
$addressmap = preg_replace('/\s/', '+',$address);
$citymap = preg_replace('/\s/', '+',$city);
echo"
【问题讨论】:
-
您需要对您在 SQL 查询中使用的所有“不可信”变量使用 mysql_real_escape_string。这是等待发生的 SQL 注入攻击。
-
你也应该使用
$_GET而不是$_REQUEST -
好的,我刚改了。有区别吗?