0
我有一個HTML輸入字段,其中的值由字符串中的每個空格進行分解和分隔。然後該字符串搜索數據庫中的匹配項,如果匹配則返回值,但是我想從原始字符串中搜索一個表中的多個字段。PHP關鍵字搜索多個字段填充新輸入
希望這將澄清一些事情:
對於如果用戶搜索例如「謝爾頓男孩跳線」我想數據庫來搜索匹配形成每個關鍵字的數據庫中的每個字段例如[school_name],[性別],[product_type]。目前我有一個領域的工作,但我想返回並收集所有三個領域的價值觀。
這是我的代碼:
if (empty($_POST) === false) {
if(empty($_POST['title']) === true) {
$no_data = '<div class="alert alert-danger center">Please enter a title</div>';
} else {
$item_title = $_POST['title'];
$keywords = explode(" ", $item_title);
$query = "SELECT * FROM products WHERE ";
foreach($keywords as $keyword) {
$i++; // dump variable
if($i == 1) { $query .= "product LIKE '$keyword' "; }
else { $query .= "OR product LIKE '$keyword' "; }
}
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
$row = mysql_fetch_assoc($query);
echo $row['product'];
}
}
[請不要在新代碼中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[紅框](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 **你也開放[SQL注入](http://stackoverflow.com/q/60174)** –
你有什麼嘗試? (比搜索一個字段的工作代碼更多) –
感謝John的有用評論,我沒有意識到這一點! – user3170837