【发布时间】:2019-11-16 13:43:03
【问题描述】:
我正在为 MySQL 搜索编写代码,但它不起作用
我使用 PHP 类,这是代码:
data_model.php
<?php
$data = new Data();
if(isset($_GET['q'])) {
$data->$_GET['q']();
}
class Data {
function __construct(){
if(!isset($_SESSION['id'])){
header('location:../../');
}
}
function getSubject($search){
global $con;
$q = "select * from subject where code like '%$search%' or title like '%$search%' order by code asc";
$r = mysqli_query($con, $q);
return $r;
}]
subject.php
<?php
include "data/data_model.php";
$search = isset($_POST["search"]);
$subject = $data->getSubject($search);
?>
<form action="subject.php" method="post">
<label>
<input type="text" class="form-control" name="search" placeholder="Search Subject..." >
</label>
<button type="submit" name="search" class="btn btn-success" value="search"><i class="fa fa-search"></i> Search</button>
</form>
我的代码有什么问题吗?我还使用 getSubject 从 db 表中获取数据到我的 html 表中,它没有问题,但是在搜索时它不起作用?
谁能帮帮我?提前致谢。
【问题讨论】:
-
您是否遇到任何错误?另外,您是否检查过 getSubject() 函数中的 $search 变量的值为 search 关键字?
-
你需要尝试这样的代码:- 3v4l.org/rfAiq 。仍然代码对于 SQL 注入是开放的,所以最好使用准备好的语句