我正在创建一个搜索引擎(请不要问为什么)。我在PHP上有点生疏,我需要一些帮助来确定我需要对我的代码做什么。它是用PHP编写的。
$find=$_GET['s'];
$f1 = "user";
$f2 = "title";
if ($find == "")
{
echo "<p>You forgot to enter a search term";
exit;
}
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("searchenginedb") or die(mysql_error());
$find = strtoupper($find);
$find = strip_tags($find);
$find = trim ($find);
$data = mysql_query("SELECT * FROM sitedata WHERE upper($f1) LIKE'%$find%' OR WHERE upper($f2) LIKE'%$find%');
while($result = mysql_fetch_array($data))
{
echo $result['title'];
echo $result['url'];
echo "<br>";
echo $result['description'];
echo "<br>";
echo "<br>";
}
echo "<b>Searched For:</b> " .$find;
由php错误代码定义的错误应该是“While”语法。但是,请原谅我,如果这是一个明显的错误,我认为它没有任何问题。
请帮帮我, 安迪。
答案 0 :(得分:1)
您在此末尾忘记了双引号:LIKE'%$find%');
- &gt; LIKE'%$find%'");
答案 1 :(得分:0)
这就是你现在所拥有的:
$data = mysql_query("SELECT * FROM sitedata WHERE upper($f1) LIKE'%$find%' OR WHERE upper($f2) LIKE'%$find%');
这就是你需要的:
$data = mysql_query("SELECT * FROM sitedata WHERE upper($f1) LIKE'%$find%' OR upper($f2) LIKE'%$find%'");
我在最后添加了双引号,否则它会将您文件的其余部分视为SQL。我还删除了第二个WHERE,你的SQL中只能有1个WHERE。
如果使用带语法高亮的编辑器,如上所述,您将看到SQL之后的所有PHP都与字符串颜色相同。