SQL选择特定的数据[重复]
Posted
技术标签:
【中文标题】SQL选择特定的数据[重复]【英文标题】:SQL select specific piece of data [duplicate] 【发布时间】:2017-07-14 14:25:58 【问题描述】:我有这个 SQL 查询
$sql_ = "SELECT score FROM users WHERE username=$row['uid']";
表 users 中的每个用户都有一个分值和一个用户名。 $row['uid']
是上一条 SQL 语句中的一个变量,这个查询给了我一个错误,我该如何解决这个问题,以及如何将该分数值放入单个变量中?
【问题讨论】:
你能发布你收到的错误信息吗? 错误是什么?评估该 php 变量后执行的实际查询是什么?请注意,如果您将准备好的语句与查询参数一起使用,那么问题可能会变得没有实际意义。额外的好处是不再存在 SQL 注入漏洞。 如果username
是字符变量,您可能需要引用您正在使用的变量。
首先你应该检查查询是否正确,检查echo $sql
,然后检查查询是否执行?
您对 SQL 注入持开放态度。查看 PDO 或 mysqli 的准备好的语句和参数绑定,无论您使用的是哪个。 这也将解决您的报价问题。
【参考方案1】:
您需要使用一些 SQL 注入预防机制。 切勿在这样的查询中使用原始变量。看看PDO。 您需要绑定变量,然后执行查询。
但对于您的需要和仅用于测试目的,请检查以下引用您的变量:
$sql_ = "SELECT score FROM users WHERE username = '" . $row['uid'] . "'";
【讨论】:
以上是关于SQL选择特定的数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 从 SQL 数据库中选择包含特定文本的所有行 [重复]