douzhuo3233 2014-04-08 21:55
浏览 34

如何通过php脚本搜索mysql数据库。 (不工作)

I can not return results with the php scritp that quires the database and echos results? All i get is fetched data successfully. Any help would be great and thanks.

<form action="#" method="get">
search: <input type="text" name="Id"><br>  
<input type="submit" value="delete">
</form>

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = '#####';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$search = $_GET['search'];
if($_GET){
$sql = 'SELECT Id, Employee_Name, 
           Employee_Email
    FROM Blog
    WHERE Id LIKE "%$sql%"';

 mysql_select_db('test');
 $retval = mysql_query( $sql, $conn );
 if(! $retval )
 {
 die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "Tutorial ID :{$row['Id']}  <br> ".
     "Title: {$row['Employee_Name']} <br> ".
     "Author: {$row['Employee_Email']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully
";
}
mysql_close($conn);
?>
  • 写回答

2条回答 默认 最新

  • douniuta4783 2014-04-08 21:57
    关注

    Double quotes don't work in SQL queries. This:

    $sql = 'SELECT Id, Employee_Name, 
           Employee_Email
    FROM Blog
    WHERE Id LIKE "%$sql%"';
    

    Should be this:

    $sql = "SELECT Id, Employee_Name, 
           Employee_Email
    FROM Blog
    WHERE Id LIKE '%$search%'";
    

    Also, it's time to stop using the deprecated mysql functions. Switch to mysqli for MySQL, and switch to PDO if you want to interface with MySQL and other types of databases (MSSQL, Oracle, etc.).

    评论

报告相同问题?

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决