0

Web サイトにハッシュタグ システムを実装しようとしています。ハッシュタグを持つユーザー入力が、"Results for '.$_GET["q"].':"; をエコーする hashtag.php?q=%23$1 へのリンクに変換されるように設定しました。これは問題なく動作しますが、実際には投稿が表示されません。たとえば、「この #ウェブサイトはひどい」という投稿があり、次のようにエコーされます。

This <a href="hashtag.php?q=%23website">#website</a> sucks

ただし、次のページのみが表示されます

Results for #website:

そして残りは空白です。ハッシュタグ .php のコードは次のとおりです。

echo 'Results for '.$_GET["q"].':';

$connect = mysql_connect("localhost","root","");
mysql_select_db("database",$connect);
$mysql = "SELECT * FROM table WHERE input LIKE '".$_GET['q']."' ";
$myData = mysql_query($mysql, $connect);
while ($record = mysql_fetch_array($myData)){
echo $record['input'];
}

ところで、サイトを公開する前に mysqli を使用する作業を行っています。

4

1 に答える 1

1

$_GET["p"]クエリの の両側に % パーセント記号を入れてみてください。$_GET["q"]同様にエスケープすることを忘れないでください。これは、mysqli を使用するよりも重要です ;)

$mysql = "SELECT * FROM table WHERE input LIKE '%".mysql_real_escape_string($_GET['q'])."%' ";
于 2013-10-03T14:25:31.220 に答える