使用PDO按可变变量排序

时间:2013-06-27 14:35:47

标签: php pdo

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

$data=$DB->quote($_REQUEST['data']);
$playperPosition=$DB->quote($_REQUEST['playperPosition']);
$playerStatictic=$DB->quote($_GET['playerStatictic']);
$league=$DB->quote($_GET['league']);

如何从数据库中选择数据并根据$ playerStatictic

对其进行排序

我正在使用此代码但不起作用:

 $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);

感谢,

1 个答案:

答案 0 :(得分:0)

这可能是你的问题:

$playerStatictic=$DB->quote($_GET['playerStatictic']);

如果要在查询中使用,则需要引用它们,尽管带有绑定变量的预准备语句为recommended。如果要在查询中使用表名或字段名,则不应像引用值那样引用它们,但如果需要,可以使用反引号引用它们(假设为mysql)。

但是,这使您对sql注入开放,因此当您想在查询中注入表名和字段名时需要执行的操作是针对允许的表名和字段名的白名单进行检查。