我正在尝试创建一个搜索引擎,从 mySQL 数据库中提取信息。我的代码如下:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Search Engine Test</title>
</head>
<body>
<script language="php">
// Create a database connection
$connection = mysql_connect("localhost", "root", "", "test");
if (!connection) {
die("Please reload page. Database connection failed: " . mysql_error());
}
// Select a databse to use
$db_select = mysql_select_db("test", $connection);
if (!$db_select) {
die("Please reload page. Database selection failed: " . mysql_error());
}
// Search Engine
// Only execute when button is pressed
if (isset($_POST['keyword'])) {
// Filter
$keyword = trim($_POST['keyword']);
// Select statement
$search = "SELECT Price FROM 'table_1' WHERE * LIKE '%$keyword%'";
// Display
$result = mysql_query($search) or die('query did not work');
while ($result_arr = mysql_fetch_array($result)) {
echo $result_arr['*'];
echo " ";
echo "<br>";
echo "<br>";
}
$anymatches = mysql_num_rows($result);
if ($anymatches == 0) {
echo "Nothing was found that matched your query.<br><br>";
}
}
</script>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<input type="text" name="keyword">
<input type="submit" name="search" value="Search">
但是,当我运行它时,我收到一条通知,说我已被禁止访问服务器。任何帮助将不胜感激。
最佳答案
$search = "从 table_1 WHERE 字段名 LIKE '%$keyword%' 中选择价格";
您不能在字段名称周围使用单引号,因为这就是字符串的定义方式。如果您的表名是保留字,则可以使用坟墓键 (`)。你也不能做WHERE *,你需要指定一个字段来比较关键字。
我还建议不要在 PHP 中使用 mysql 命令,因为它们已被弃用。使用最新的mysqli命令
关于php - WAMP 服务器不允许 php 搜索引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122334/