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 数据库中选择包含特定文本的所有行 [重复]

如何在特定日期之间在sql中选择我选择的客户订单[重复]

SQL 从多个表中选择列而不重复数据

如何通过SQL将一列JCheckBox添加到JTable? [重复]

在特定数据库中创建 SQL Server 视图 [重复]

当特定的列组合确定其重复性时,如何排除sql中的数据?