【发布时间】:2017-01-01 03:44:45
【问题描述】:
我一直在尝试修复我的代码,但它根本不起作用。我有一个本地服务器,它确实可以工作(在我的 macbook 上使用 Mamp)我在我的“hexameter”数据库中编辑了一个名为“forms”的小表。
这是我的代码:
连接.php
<?php
$servername = "";
$username = "";
$password = "";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
连接确实有效!
输入:
<!DOCTYPE html>
<html>
<body>
<form action="http://localhost:8888/index.php" method="GET">
Hexameter: <input type="text" name="Hexameter"><br>
<input type="submit" name"Eingabe">
</form>
</body>
</html>
index.php:
<!DOCTYPE html PUBLIC>
<html >
<head>
<title>Search results</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<?php
$query = $_GET['Hexameter'];
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$raw_results = mysql_query("SELECT * FROM forms
WHERE `text` LIKE '%".$query."%')" or die(mysql_error());
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)){
echo "<p><h3>".$results['title']."</h3>".$results['text']."
</p>";
}
} else{
echo "No results";
}
}
?>
</body>
</html>
我总是访问 index.php,但没有显示任何内容。
【问题讨论】:
-
这是怎么回事?
-
mysql_real_escape_string不。您打开了与mysqli的连接。您正在混合 API。切换到 PDO,以免混淆 mysql_ 和 mysqli_。 -
@developerwjk - 我正要打字。你比我先得到它。
-
另外,看起来你有一个额外的
} -
你使用的是哪个版本的php?