2

わかりました、私は今これを1時間続けています..私は非常に単純なものが欠けていますか? これに新しい目が必要ですか?私はここで検索し、いくつかのことを見つけて実装しようとしましたが、それでも不十分でした。

私は魔法の引用符をオフにしています:

私の検索はSam's Clubです

データベースでは次のように入力されています : Sam's Club as well

簡易検索機能:

$q = htmlspecialchars($q);
// changes characters used in html to their equivalents, for example: < to &gt;
$q = mysql_real_escape_string($q);
// makes sure nobody uses SQL injection

$raw_results = mysql_query("SELECT * FROM this, this2 WHERE this.TypeID = this2.TypeID AND this.status = 'Active' AND this.endDate >= CURDATE()
AND (`Title` LIKE '%".$q."%')") or die(mysql_error());

まだ空の結果が表示されますか?

明らかに、Samを検索すると、結果が照会されますか?

私のphpMyAdminからの2つの画像は次のとおりです。

ここに画像の説明を入力

ここに画像の説明を入力

解決した

問題が見つかりました。忘れていた別の関数のリストをヘッダーに含めていました。それは変数をいじっていました。

トラブルシューティングをありがとう!私はまだトンを学びました!!

4

2 に答える 2

1

このコードを試してください:

   echo 'value q before=*' . $q . '*';

   $q = mysql_real_escape_string($q);
   echo 'value q after=*' . $q . '*';
   $q2 = mysql_escape_string($q);
   echo 'value q2 after=*' . $q2 . '*';

    // makes sure nobody uses SQL injection

    $sql = "SELECT * FROM this, this2 WHERE this.TypeID = this2.TypeID AND this.status = 'Active' AND this.endDate >= CURDATE() AND `Title` LIKE '%".$q."%'";
    echo 'SQL STRING=*'.$sql.'*';
    $raw_results = mysql_query($sql) or die(mysql_error());
    echo 'RAW RESULTS=' . print_r($raw_results, true);
于 2013-05-02T19:29:51.447 に答える