0

私の php/MySQL 検索クエリはエラーを返さず、MySQL テーブルからの結果も表示しません。たとえば、6 つの行があり、各列には 3 ~ 5 個の単語 (カンマで区切られています) が含まれています。ユーザーが特定の列の単語に一致する特定の単語を入力すると、その行のみをプルして表示する必要があります。誰かが私を正しい方向に向けることができますか、これが私のコードです(データベース接続は正常に動作します)

include('database.php');

echo "<div class='grid_4'>
<form action='' method='POST'>
<input type='text' name='search' maxlength='60' size='20px' placeholder='Under  Construction...'/>
<input type='submit' name='ssearch' value='Search' id='favb'>
</form>
</div>";

if(isset($_POST['ssearch']) && $_POST['ssearch'] != "")
{   
$SB=$_POST['ssearch'];

$search=$db->prepare("SELECT body FROM thread WHERE body LIKE ?");
$search->execute(array('%'.$SB.'%'));
$search->setFetchMode(PDO::FETCH_ASSOC);

$sR=""; 

while($row=$search->fetch())
{
$title=$row['title'];
$thread_id=$row['thread_id'];
$preview=$row['preview'];

$sR.='<div class="grid_3" id="previewmargin">
<a href="view_thread.php?id='.$thread_id.'" id="tt">'.$preview.'</a></div>';}
}
echo $sR;
4

1 に答える 1

0

検索を実行する行で、次のように変更した場合:

$search->execute(array('%'.$SB.'%'));

に:

$search->execute(array("'%" . $SB . "%'"));
于 2013-10-29T19:27:53.163 に答える