0

我正在尝试比较表单中的两个 $_GET 输入,如果在数据库中找到类似的内容,则将它们添加到 SQL 语句中。这是 SQL 代码。

<?php
  include('db_connect.php');

  $name1 = $_GET['name1'];
  $name2 = $_GET['name2'];


  $query="SELECT * FROM Stats WHERE `Name` LIKE '$_GET[name1]%' OR '$_GET[name2]%' ";
  $res=mysql_query($query);
  $num=mysql_numrows($res);
  $i=0;

  while($i< $num){
   $Name = mysql_result($res, $i, "Name");
   echo $Name;
   $i++;
  }
?>

这适用于第一个 $_GET[name1] 字段,但是如果 name2 也匹配,我想返回更多。任何想法将不胜感激。

4

2 回答 2

2

您的第二个 LIKE 需要引用正确的列:

$query="SELECT * FROM Stats 
            WHERE `Name` LIKE '$_GET[name1]%' OR `Name` LIKE '$_GET[name2]%'";
于 2012-07-15T21:36:40.650 回答
2

尝试连接字符串:

$query="SELECT * FROM Stats WHERE `Name` LIKE '".mysql_real_escape_string($_GET["name1"])."%' OR `Name` LIKE '".mysql_real_escape_string($_GET["name2"])."%';";

使用时还需要LIKE- 运算符OR。也许函数mysql_numrows()被准确调用也是一个问题mysql_num_rows()

于 2012-07-15T21:37:07.407 回答