我在我的网站上通过MySQLi建立了成功的连接。但是现在我的搜索脚本已经过时了,而且我正在努力了解如何将我的脚本转换为mysqli。
function doSearch() {
$output = '';
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace ("#[^0-9a-z]#i","",$searchq);
$query = mysql_query("SELECT * FROM entries WHERE name LIKE '%$searchq%' or description LIKE '%$searchq%' or content LIKE '%$searchq%'") or die("Could not search");
$count = mysql_num_rows($query);
if($count == 0) {
$output = '<tr><tr>No results found.</tr></td>';
} else {
while($row = mysql_fetch_array($query)) {
$eName = $row['name'];
$eDesc = $row['description'];
$eCont = $row['content'];
$id = $row['id'];
$elvl = $row['level'];
$ehp = $row['hp'];
$output .= '<tr><td><a href="http://seersvillage.com/v1.2/npc.php?id=' .$id. '" onclick="document.linkform.submit();">'.$eName.'</a></td><td>'.$eDesc.'</td><td>'.$elvl.'</td><td>'.$ehp.'</td></tr>';
}
}
return $output;
}
}
据我了解,mysql_query需要改变吗?虽然我完全不确定我还需要改变什么。我已经尝试过查看其他示例,但是我被代码覆盖了。
我将connect.php文件附加到functions.php文件中,其中放置了上面的代码。
非常感谢一些帮助。
编辑:还要忽略糟糕的脚本编写@ $输出,虽然嘲笑它。 :)
答案 0 :(得分:-1)
答案 1 :(得分:-1)
$connect
变量是您在连接脚本中设置的变量。
<?php
function doSearch() {
$output = '';
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace ("#[^0-9a-z]#i","",$searchq);
$sql = "SELECT * FROM entries WHERE name LIKE '%$searchq%' or description LIKE '%$searchq%' or content LIKE '%$searchq%'";
$query = mysqli_query($connect, $sql);
$count = mysqli_num_rows($query);
if($count == 0) {
$output = '<tr><tr>No results found.</tr></td>';
} else {
while($row = mysqli_fetch_array($query)) {
$eName = $row['name'];
$eDesc = $row['description'];
$eCont = $row['content'];
$id = $row['id'];
$elvl = $row['level'];
$ehp = $row['hp'];
$output .= '<tr><td><a href="http://seersvillage.com/v1.2/npc.php?id=' .$id. '" onclick="document.linkform.submit();">'.$eName.'</a></td><td>'.$eDesc.'</td><td>'.$elvl.'</td><td>'.$ehp.'</td></tr>';
}
}
return $output;
}
}
答案 2 :(得分:-1)
如果你打算升级你的mysql,你应该考虑PDO,因为PDO支持12种不同的驱动程序,而MySQLI只支持MySQL。