Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP搜索框不工作?_Php - Fatal编程技术网

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如何修复每个错误的错误。这是我收到的唯一错误。谢谢