我有一個新聞列表,我也有一個表單來搜索新聞。Pdo未定義的索引通知
所以我創建了一個會話,它存儲了一個sql命令,如果搜索表單被引用,我想運行,並且運行良好。
問題是當表單沒有submited時,我的sql命令在sql語句中有{$ _SESSION [where]},然後我有一個未定義索引'where'錯誤。
所以,有林的問題是,當我不傳遞任何價值,我的$搜索,則SQL命令需要的值$搜索,然後因爲我沒有通過這個值從來就得到了錯誤說法沒有定義這樣的變量。
我正在嘗試幾個小時的各種替代方案,但我沒有找到任何好的解決方案,請給我一點幫助?
我有名字sendForm一種形式,那麼我有這樣的代碼,當用戶提交表單:
<?php if(isset($_POST['sendForm']))
{
$search = $_POST['search'];
if(!empty($search) && $search != 'Search...')
{
$_SESSION['where'] = "AND titulo LIKE '%$search%'";
header('Location: index2.php?exe=posts/news');
}
//clean search
else
{
unset($_SESSION['where']);
header('Location: index2.php?exe=posts/news');
}
}
?>
然後我有我的文章,但也爲搜索讀statment結果
$pag = (empty($_GET['pag']) ? '1' : $_GET['pag']);
$max = 15;
$begin = ($pag * $max) - $max;
$readNews = $pdo->prepare("SELECT * from news {$_SESSION[where]} ORDER BY data DESC LIMIT ?, ?");
$readNews->bindValue(1, $begin,PDO::PARAM_INT);
$readNews->bindValue(2, $max,PDO::PARAM_INT);
$readNews->execute();
'session_start();'未加載。另外,這是什麼'從新聞選擇* {$ _SESSION [where]}'? –
將'{$ _SESSION [where]}'更改爲'{$ _SESSION [',其中']}'和@ Fred-ii-上面所述^ – Darren
您的查詢讀爲'(「SELECT * from news AND titulo LIKE' $ search%ORDER BY ...'如果'news'和'titulo'是兩列,那麼你可能打算使用逗號,很難說出你想達到什麼樣的結果,你想達到什麼樣的結果? –