我正在尝试比较表单中的两个$ _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也匹配,我想返回More。任何想法将不胜感激。

最佳答案

尝试连接字符串:

$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()可能也是一个问题。

关于php - 将两个$ _GET值与数据库中的行进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11495768/

10-08 23:37