【发布时间】:2019-07-29 08:13:53
【问题描述】:
我将我的数据库更改为 oracle,我想知道我应该更改哪些代码。 当我自己尝试时,它没有用。它给了我
警告:mysql_real_escape_string() 期望参数 1 是字符串,资源在 D:\xampp\htdocs\advance_search.php 第 40 行给出
致命错误:调用未定义的函数 oci_query() D:\xampp\htdocs\advance_search.php 第 44 行
错误..
<?php
$connect = mysqli_connect("localhost", "root", "", "test_db");
if(isset($_POST["submit"]))
{
if(!empty($_POST["search"]))
{
$query = str_replace(" ", "+", $_POST["search"]);
header("location:advance_search.php?search=" . $query);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Webslesson Tutorial | Search multiple words at a time in Mysql php</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<br /><br />
<div class="container" style="width:500px;">
<h3 align="center">Search multiple words at a time in Mysql php</h3><br />
<form method="post">
<label>Enter Search Text</label>
<input type="text" name="search" class="form-control" value="<?php if(isset($_GET["search"])) echo $_GET["search"]; ?>" />
<br />
<input type="submit" name="submit" class="btn btn-info" value="Search" />
</form>
<br /><br />
<div class="table-responsive">
<table class="table table-bordered">
<?php
if(isset($_GET["search"]))
{
$condition = '';
$query = explode(" ", $_GET["search"]);
foreach($query as $text)
{
$condition .= "video_title LIKE '%".mysqli_real_escape_string($connect, $text)."%' OR ";
}
$condition = substr($condition, 0, -4);
$sql_query = "SELECT * FROM tbl_video WHERE " . $condition;
$result = mysqli_query($connect, $sql_query);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
echo '<tr><td>'.$row["video_title"].'</td></tr>';
}
}
else
{
echo '<label>Data not Found</label>';
}
}
?>
</table>
</div>
</div>
</body>
</html>
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli,资源在 D:\xampp\htdocs\advance_search.php 第 40 行中给出
警告:mysqli_query() 期望参数 1 为 mysqli,资源在 D:\xampp\htdocs\advance_search.php 第 44 行给出
警告:mysqli_num_rows() 期望参数 1 为 mysqli_result,在第 45 行的 D:\xampp\htdocs\advance_search.php 中给出 null 未找到数据
这些错误是什么意思?
【问题讨论】:
-
它一直有效,直到使用
-
oci_query电话在哪里? -
我建议您使用PDO Oracle driver,那么您的代码更具前瞻性,并且您的代码库可以适用于多个数据库。如果 SQL 代码将是另一个问题。这是@ 987654322@手册页
-
我没有看到一个..但它在 mysql db 上工作得很好......
-
Call to undefined function oci_query()没有该代码就不会发生。您将不得不深入研究您的代码。