首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用WHERE子句mysql_query和mysql_fetch_array进行基本搜索

使用WHERE子句mysql_query和mysql_fetch_array进行基本搜索
EN

Stack Overflow用户
提问于 2012-02-18 16:59:30
回答 4查看 2.9K关注 0票数 0

我是PHP和mysql的新手,我想知道我是否可以在搜索数据库和返回结果的代码方面获得一些帮助。

代码语言:javascript
运行
复制
<?php
$con = mysql_connect("localhost", "root", "");
if (!$con) {
    die ("could not connect to db");
}

if (!mysql_select_db("site", $con)) {
    die ("Could not connect to table");
}

$search = $_POST["text"];
$result = mysql_query("SELECT * FROM torrents WHERE name ='$search'"); //or LIKE instead of =

while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    echo $row['name']; 
}

?>

任何帮助都是非常感谢的。现在,代码运行时没有错误,但没有输出。对所有更改和建议都持开放态度。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-18 17:06:37

首先要做三件事

使用根作为username

  • $search的sql injections

  • third,从不连接
  • ,应该使用可能的SQL注入进行过滤,因此使用mysql_real_escape_string保护您自己免受SQL SQL的影响在执行查询之前尝试打印您的查询,以便您知道查询中传递了哪些值。或者使用trigger_error函数查看查询

中是否有任何错误

因此您的一行代码可以重写为

代码语言:javascript
运行
复制
 $search = mysql_real_escape_string($search); 
 $result = mysql_query("SELECT * FROM torrents WHERE name LIKE '%$search%'") or trigger_error(mysql_error());

这将使您深入了解正在发生的事情。

票数 1
EN

Stack Overflow用户

发布于 2012-02-18 17:04:28

添加mysql_error()并检查查询中是否有任何错误。

代码语言:javascript
运行
复制
$result = mysql_query("SELECT * FROM torrents WHERE name ='$search'")
          or trigger_error(mysql_error());

如果查询成功,则表可能没有任何匹配的行。

如果您不想要完全匹配,而想要近似匹配,则可以使用LIKE子句代替=

代码语言:javascript
运行
复制
$result = mysql_query("SELECT * FROM torrents WHERE name LIKE '%$search%'")
              or trigger_error(mysql_error());

最后但并非最不重要的一点是,在SQL query中添加字符串之前,使用mysql_real_escape_string函数对字符串进行转义。

票数 1
EN

Stack Overflow用户

发布于 2012-02-18 17:08:30

  1. 使用WHERE name LIKE '%$search%'
  2. Use全索引搜索(因为5.6它只适用于LIKE引擎)来加速搜索查询,而不是LIKE。用于SQLInjection.
  3. Use面向对象驱动程序的MySql Manual
  4. Google,如PDO
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9339937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档