【发布时间】:2013-04-16 07:33:31
【问题描述】:
这是我的代码....尝试echo the $sql,但它显示'%Search%'...但我想将其用作$Search ..请帮助...
以下是我的整个搜索代码...
if(isset($_POST['search']))
{
$search=$_POST['search'];
$criteria=$_POST['criteria'];
$table='alumni';
mysql_real_escape_string($search);
if($criteria=='ALL')
{
$sql="SELECT UNAME FROM `alumni` ";
$result=mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
while ($row=mysql_fetch_array($result))
{
echo"<tr><td><a>".$row['UNAME']."</a></td></tr>";
}
}
if($criteria=='UNAME' || $criteria=='FNAME' || $criteria=='BATCH')
{
//echo $criteria;
$sql="SELECT UNAME FROM `alumni` WHERE ".$criteria." LIKE '%".$search."%'";
//echo $sql;
$result=mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
while ($row=mysql_fetch_array($result))
{
echo"<tr><td><a>".$row['UNAME']."</a></td></tr>";
}
}
}
?>
【问题讨论】:
-
不要使用
mysql_*函数,它们已被弃用,请改用mysqli_*。 -
请使用 mysqli_ 或 PDO 而不是 mysql_ 扩展,因为它已被弃用,而且不太安全
-
如果你打印 $search var,你会得到字符串'Search'?例如,如果您输入条件“FNAME”并搜索“文本”,您的 sql 会是什么样子?
-
@BojanKovacevic...它显示有关搜索条件的用户名...上面的代码适用于 $criteria==ALL..它无法显示以下 if 条件的任何结果……!!请帮忙..!!