PHP搜索框不工作?
我已经创建了一个搜索框来搜索我的网站。我真的很努力地想把它修好,但没用。请你帮忙好吗?代码如下:PHP搜索框不工作?,php,Php,我已经创建了一个搜索框来搜索我的网站。我真的很努力地想把它修好,但没用。请你帮忙好吗?代码如下: <?php $k = $_GET['k']; $terms = explode(" ", $k); $query = "SELECT * FROM search WHERE " for each ($terms as $each) { $i++; if ($i == 1) $query .= "keywor
<?php
$k = $_GET['k'];
$terms = explode(" ", $k);
$query = "SELECT * FROM search WHERE "
for each ($terms as $each) {
$i++;
if ($i == 1)
$query .= "keywords LIKE '%$each%' ";
else
$query .= "OR keywords LIKE '%$each%' ";
}
//connect
mysql_connect("localhost", "my username", "my password");
mysql_select_db("my database");
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0){
while ( $row = mysql_fetch_assoc($query)) {
$id = $row['id'];
$title = $row['title'];
$description = $row['description'];
$keywords = $row['keywords'];
$link = $row['link'];
echo "<h1><a href='$link'>$title</a></h2>";
$description<br /><br />""
}
}
else
echo "No results found for \"<b>$k/b>\" ";
//disconnect
mysql_close();
?>
首先,正确的语法。而不是:
$query = "SELECT * FROM search WHERE "
for each ($terms as $each) {
应该是
$query = "SELECT * FROM search WHERE ";
foreach ($terms as $each) {
哦,这是什么
$description<br /><br />""
$description
“
也许你应该先学习语法的基础知识。你可以通过找出什么不起作用来缩小问题的范围。第一步是在代码开头插入一个
var\u dump($\u GET)
,以确保$\u GET['k']
存在。首先将每个的更改为foreach
以使其成为有效的循环。该代码中有一些错误。您应该看到屏幕上打印的错误,例如,“syntax error,unexpected'for'”(语法错误,意外的'for')将是第一个应该弹出的东西,这意味着您没有使用转义$query变量的第一部分;下一个错误是for each应该是foreach。处理出现的错误crdev如何修复每个错误的错误。这是我收到的唯一错误。谢谢