我正在尝试从 mysql 检索一些数据。用户应该输入许可证号并单击搜索,并且应显示与该号码相关的所有记录。不幸的是,当我输入许可证号并按搜索时,什么也没有显示。请查看下面的代码,看看哪里出了问题。
<?php
mysql_connect("localhost", "root", "") or die("cant connect");
mysql_select_db("android_api")or die("cant connect");
$output='';
//collect
if(isset($_POST['search'])){
$searchq=$_POST['search'];
//if(isset($_POST['search'])){ to if ($_SERVER["REQUEST_METHOD"] == "POST") {
//$query=mysql_query("SELECT * FROM fineregister WHERE licencenum LIKE '%$searchq%'") or die("cant connect");
$query = mysql_query("SELECT * FROM fineregister WHERE licencenum LIKE '%".$searchq."%'");
$count=mysql_num_rows($query);
if($count==0){
$output='no results';
}else{
while($row=mysql_fetch_array($query)){
$fdriver=$row['driver'];
$flicencenum=$row['licencenum'];
$fofficer=$row['officer'];
$fspeed=$row['speed'];
$ffine=$row['fine'];
$fcategory=$row['category'];
$output.='<div> '.$fdriver.' '.$flicencenum.' '.$fspeed.' '.$ffine.' '.$fcategory.'</div>';
}
}
}
?>
最佳答案
我最终完成了这件事。只需编写一组新代码即可工作。我只需要应用一些格式,以便输出整齐。
<?php
mysql_connect("localhost", "root", "") or die("Error connecting to database: ".mysql_error());
mysql_select_db("android_api") or die(mysql_error());
?>
<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['query'];
$min_length = 3;
if(strlen($query) >= $min_length){
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$raw_results = mysql_query("SELECT * FROM register WHERE (`licence` LIKE '%".$query."%')") or die(mysql_error());
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)){
echo "<p><h3>".$results['driver']." </h3>".$results['licence'].$results['officer'].$results['speed'].$results['fine'].$results['category']."</p>";
}
}
else{
echo "No results";
}
}
else{
echo "Minimum length is ".$min_length;
}
?>
关于php - 通过php搜索进行MYSQL数据检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25176584/