猿问

PDO 脚本中的 mySQL 语法问题

这个 PDO 脚本似乎写得正确,但我一直收到一个语法错误,没有生成 json 数组。


  $stmt = $pdo->query('SELECT `person`,

       sum( `stat` = "Ready" ) as Num1

        from `Table1`

        WHERE `code` = :code AND

        (`stat` = "Ready")

        group by `person`

        Order by `Num1` DESC ');


  $stmt->execute([

      'code' => $_POST['code']

      ]);


  $row = $stmt->fetchAll(PDO::FETCH_ASSOC);


  echo json_encode($row);

这是我收到的错误消息:


Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]


互换的青春
浏览 174回答 1
1回答

一只甜甜圈

记住命名参数需要:所以:code 而不是code 在执行数组键中$stmt = $pdo->query('SELECT `person`,       sum( `stat` = "Ready" ) as Num1        from `Table1`        WHERE `code` = :code AND        (`stat` = "Ready")        group by `person`        Order by `Num1` DESC ');  $stmt->execute([      ':code' => $_POST['code']      ]);  $row = $stmt->fetchAll(PDO::FETCH_ASSOC);对于 json 你可以  $myJson = json_encode($row);
随时随地看视频慕课网APP
我要回答