这是我的代码....已尝试echo the $sql
但它显示“%Search%
”...但我想将其用作$Search
.. plz帮助..
以下是我的整个搜索代码......
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>";
}
}
}
?>
答案 0 :(得分:2)
通过测试上面的代码似乎没有错,如果你通过search=Test
得到:
SELECT UNAME FROM `alumni` WHERE FNAME LIKE '%Test%'
如果你总是得到......
SELECT UNAME FROM `alumni` WHERE FNAME LIKE '%Search%'
...无论您在搜索表单中填写的值如何,都表明该表单的工作方式存在问题,或者如何将帖子数据放在一起。您上面发布的代码虽然过时,但却可以像搜索数据库的代码一样工作。
如果您可以发布有关如何调用或使用此脚本的更多信息,您可能会从某人那里获得更准确的答案。
答案 1 :(得分:0)
如果使用双引号,则可以将变量放在字符串中而不关闭它们。
尝试:
$sql="SELECT UNAME FROM `alumni` WHERE $criteria LIKE '%$search%'";