首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Order by可变变量与PDO

问Order by可变变量与PDO
EN

Stack Overflow用户
提问于 2013-06-27 22:35:47
回答 1查看 42关注 0票数 0

此代码正在检索从其他页面发送的数据:

代码语言:javascript
复制
$data=$DB->quote($_REQUEST['data']);
$playperPosition=$DB->quote($_REQUEST['playperPosition']);
$playerStatictic=$DB->quote($_GET['playerStatictic']);
$league=$DB->quote($_GET['league']);

如何从数据库中选择数据并按$playerStatictic排序

我正在使用这段代码,但不能工作:

代码语言:javascript
复制
 $i=0;
  $sql_playerstatistic="select * from ".$prev."playerstatistic where leagueID = $league ORDER BY $playerStatictic desc";

  $re_playerstatistic=$DB->prepare($sql_playerstatistic);
  $re_playerstatistic->execute();
  while($d_playerstatistic=$re_playerstatistic->fetch(PDO::FETCH_ASSOC))
  {
    $i++;
    $sql_team="select * from ".$prev."team where id=".$d_playerstatistic['teamID']."";
    $re_team=$DB->prepare($sql_team);
    $re_team->execute();
    $d_team=$re_team->fetch(PDO::FETCH_ASSOC);

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-27 22:42:52

这可能是你的问题:

代码语言:javascript
复制
$playerStatictic=$DB->quote($_GET['playerStatictic']);

当您希望在查询中使用值时,需要用引号将它们引起来,尽管带有绑定变量的预准备语句改为recommended。当您想要在查询中使用表名或字段名时,您不应该像引用值那样引用它们,而是在必要时使用反引号引用它们(假设mysql)。

但是,这使您可以进行sql注入,因此,当您想要在查询中注入表名和字段名时,需要做的是根据允许的表名和字段名的白名单对它们进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17346072

复制
相关文章

相似问题

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