搜索引擎PHP返回错误 搜索引擎 在这里测试引擎代码
在第33行,您有搜索引擎PHP返回错误 搜索引擎 在这里测试引擎代码,php,mysql,Php,Mysql,在第33行,您有$i++,但您没有初始化$i 我估计您的MySQL查询中有语法错误。试试这个: <?php mysql_connect("localhost", "root", ""); mysql_select_db("database360"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transiti
$i++
,但您没有初始化$i
我估计您的MySQL查询中有语法错误。试试这个:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("database360");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search Engine</title>
</head>
<body>
<center>
<h1 style="color:#069; font-size:36px;">TEST ENGINEenter code here</h1>
<form action="./result.php" method="get">
<input type="text" name="input" size="50" <?php echo $_GET['input']; ?> />
<input type="submit" value="search"/>
</form>
</center>
<hr/>
<?php
$input = $_GET['input'];
$terms = explode(" ", $input);
$query = "SELECT * FROM search WHERE";
foreach ($terms as $each){
$i++;
if ($i == 1)
$query .= "keywords LIKE '%each%' ";
else
$query .= "OR keywords LIKE '%each%' ";
}
//connect to database
mysql_connect("localhost", "root", "");
mysql_select_db("database360");
$query1 = mysql_query($query);
$numrows = mysql_num_rows($query1);
if ($numrows > 0){
while ($rows=mysqlfetch_assoc($query1)){
$id = $row['id'];
$title = $row['title'];
$description = $row['description'];
$keywords = $row['keyword'];
$link = $row['link'];
echo "<h2><a href='$link'>$title</h2>
$description<br></br>";
}
}
else echo "No results found for \"<b>$input</b>\"";
//disconnect
mysql_close();
?>
</body>
</html>
这将显示您必须修复的SQL错误
更多:您的SQL易受注入攻击。确保正确转义输入,并且不要使用
mysql()
——它已被弃用。改用mysqli
或PDO
。Put$i=0代码>在foreach循环之前。另外,请注意,您编写了每个
(一个字符串)而不是$each
(一个变量)。您的查询也易受攻击。查询错误可能在WHERE
和关键字之间没有空格(请尝试打印查询并查看)致命错误:在更正语法后,在第51行调用C:\xampp\htdocs\SEARCH\result.php中未定义的函数mysqlfetch_assoc()。致命错误:调用未定义的函数mysqlfetch_assoc()在C:\xampp\htdocs\SEARCH\result.php的第51行mysql\u fetch\u assoc()
非常感谢X10000000
$query1 = mysql_query($query) or die(mysql_error());