mysql语句在php代码中工作不正常

mysql语句在php代码中工作不正常,php,mysql,Php,Mysql,下面是我脚本中的代码。$sql语句在phpmyadmin中执行时工作正常。但是它在下面的代码中不起作用。仅显示一行数据 $conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); $sql="SELECT DISTINCT productId FROM bid WHERE userId =:id"; $st = $conn->prepare( $sql ); $st->bindParam( ":id", $_SESSION['id'],

下面是我脚本中的代码。$sql语句在phpmyadmin中执行时工作正常。但是它在下面的代码中不起作用。仅显示一行数据

$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql="SELECT DISTINCT productId FROM bid WHERE userId =:id";
$st = $conn->prepare( $sql );
$st->bindParam( ":id", $_SESSION['id'], PDO::PARAM_INT );
$st->execute();
$data=$st->fetch(PDO::FETCH_ASSOC);
$conn=null;
print_r($data);

在这两种方法中,替换

$data = $st->fetch(PDO::FETCH_ASSOC);
使用给定的代码

  • 其中一种方法是:

    $data = $st->fetchAll(PDO::FETCH_ASSOC);
    
  • 环路

    while( $data = $st->fetch(PDO::FETCH_ASSOC) )
        print_r($data);
    $conn=null;
    
  • 什么是“不起作用”?