【问题标题】:SQL select specific piece of data [duplicate]SQL选择特定的数据[重复]
【发布时间】: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 注入持开放态度。查看 PDOmysqli 的准备好的语句和参数绑定,无论您使用的是哪个。 这也将解决您的报价问题。

标签: php html sql sql-server database


【解决方案1】:

您需要使用一些 SQL 注入预防机制。 切勿在这样的查询中使用原始变量。看看PDO。 您需要绑定变量,然后执行查询。

但对于您的需要和用于测试目的,请检查以下引用您的变量:

$sql_ = "SELECT score FROM users WHERE username = '" . $row['uid'] . "'";

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 2011-10-03
    • 2011-06-28
    • 2019-07-06
    • 2013-06-20
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    相关资源
    最近更新 更多