PHP 从数据库中搜索

标签 php html mysql

  <!DOCTYPE html>
  <html lang="en">

   <head>
   <meta charset="utf-8" />
   <title>TEST QUERY</title>
   </head>

   <body>
     <form action="" method="GET">
Search:
<input type="text" name="query" />
<br /> Please Enter Last Name
<input type="submit" value="Submit" />
 </form>

  <?php
  $db_hostname = 'localhost';
  $db_username = 'zvrub';
  $db_password = 'zvrub';
  $db_database = 'dbtest';

  $con = mysql_connect($db_hostname,$db_username,$db_password,$db_database);
  if (!$con)
  {
  die('Could not connect: ' . mysql_error());
   }

 mysql_select_db($db_database, $con);
 $query = $_GET['query']; 
 $min_length = 1;
 if(strlen($query) >= $min_length){ 
     $query = htmlspecialchars($query); 
     $query = mysql_real_escape_string($query);
     $raw_results = mysql_query("SELECT * FROM 'HR DATA'
     WHERE (`LAST_NAME` LIKE '%".$query."%') OR (`LAST_NAME` LIKE  
     '%".$query."%')") or die(mysql_error());                                      
      if(mysql_num_rows($raw_results) > 0){ 
      while($results = mysql_fetch_array($raw_results)){
      echo "<p><h3>".$results['title']."</h3>".$results['text']."</p>";

    }

    }
    else{ 
    }

}
else{ 
    echo "Minimum length is ".$min_length;
}
 ?>
 </body>

 </html>

我有这段代码,但它给了我一个错误:你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 ''HR DATA' WHERE ( LAST_NAME LIKE '%Bryant%') OR ( LAST_NAME LIKE '' 附近使用的正确语法

最佳答案

尝试使用反引号 (`) 而不是单引号 (') 来分隔表名称

"SELECT * FROM `HR DATA`

关于PHP 从数据库中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34829207/

相关文章:

html - 我找不到元素之间的空间

iphone - CSS/HTML iphone 在背景图像位置的边缘周围放置了一些额外的空间。我该如何删除它?

mysql - MySQL 中变量名自增

PHP:提取字符串的版本号

当表单完全填写时,PHP 表单验证在提交时显示空白字段

javascript - 使用 Javascript 将 html 替换为 html

mysql - 如何强制执行引用约束(外键)

php - PHP 中的双向加密来混淆 ID?

php - drupal 在哪里保存我从其表中的内容类型上传的图像路径?

mysql - 为什么哪里条件不对?