我尝试使用pdo将值存储在数据库中。 但是,不知道为什么价值似乎无法回应它。
这是我的代码:
$_GET['id']='138b39bbef558cf44b3d222a6fb4d6b6';
$query3 = $conn->prepare("SELECT id, MAX(time),answer FROM `answer` where nodes_uuid = :nodeuuid and user_id = 101");
$query3->bindValue(':nodeuuid', $_GET['id'], PDO::PARAM_STR);
$query3->execute();
$questionCorrectAnswer = $query3->fetch();
echo $questionCorrectAnswer['answer'];
表:
id MAX(time) answer
---------- ------------------- ------------
40 2015-02-25 18:18:53 [{"topicId":"1590","ans":["6032"]},"topicId":"1593","ans":["8122"]},{"topicId":"1598","ans":["6064"]},{"topicId":"1601","ans":["6073"]}]
答案 0 :(得分:1)
结果:
array(6) { ["id"]=> NULL [0]=> NULL ["MAX(time)"]=> NULL [1]=> NULL ["answer"]=> NULL [2]=> NULL }
您收到的表示您的查询未返回任何记录。在普通查询中,您将获得一个空集,但是,因为您使用的是聚合函数,所以当查询未选择任何记录时,您将获得所有空值。此处的问题是您的WHERE子句可能会删除表中的所有记录。
答案 1 :(得分:-1)
我认为这里的错误是你得到一个未定义的索引错误。你可以尝试交换:
$questionCorrectAnswer = $query3->fetch();
有关
$questionCorrectAnswer = $query3->fetch(PDO::FETCH_OBJ);
而不是
questionCorrectAnswer['answer'];
我建议尝试
questionCorrectAnswer->answer;
此外,当您存储Json对象时,它可能会支付Print_r($ foo)或Var_Dump($ foo),只是因为有一个Array to String转换失败。