0

フォームからの 2 つの $_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 を返したいと思います。どんなアイデアでも大歓迎です。

4

2 に答える 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を使用する場合は、-operatorも必要ですOR。関数mysql_numrows()が正確に呼び出されていることも問題なのかもしれませんmysql_num_rows()

于 2012-07-15T21:37:07.407 に答える