插入元件PDO结果阵列
这是我的代码:插入元件PDO结果阵列
$stmt = $db->prepare("SELECT * FROM wishlists WHERE user_id='1'");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$res = array('saved_id' => "1");
array_push($result, $res);
echo json_encode($result);
最终结果是:
[{"id":"1","user_id":"1","name":"San Francisco","privacy":"0","pick":"Yes"},{"saved_id":"1"}]
但我想显示在例如第一阵列saved_id:
[{"id":"1","user_id":"1","name":"San Francisco","privacy":"0","pick":"Yes","saved_id":"1"}]
你可以帮我吗?
变化
array_push($result, $res);
要
$result = array_map(function($r) use($res){
return array_merge($r, $res);
}, $result);
的情况下有预期的多个结果,最好在查询
$saved_id = 1;
$user_id = 1;
$stmt = $db->prepare("SELECT *, ? as saved_id FROM wishlists WHERE user_id=?");
$stmt->execute([$saved_id, $user_id]);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
注入正确的,但如果你只需要一个行,你必须使用取()而不是使用fetchall();
那么你可以添加你所希望的任何元素:
$stmt = $db->prepare("SELECT * FROM wishlists WHERE user_id='1'");
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$result['saved_id'] = "1";
echo json_encode($result);
$结果= $ stmt->取(PDO :: FETCH_ASSOC); $ result ['saved_id'] =“1”;工作但fetchAll不工作:(我想fetchAll –
我的代码中有一个愚蠢的错字,我修正它。总是有error_reporting(E_ALL),所以你至少可以修复这些小问题 –
$ stmt-> execute ([$ saved_id,$ user_id]);是问题不显示错误报告这个HTTP错误500 –
超级它的工作谢谢你.. :) –