【发布时间】:2018-03-11 10:48:51
【问题描述】:
我对我的 PHP 文件有点迷茫。 我想在数据库中找到一个包含我所有数据的数组,并用 ajax 将其发送到我的 js 文件(这部分可以)。
现在,我有:
$cnx = new PDO('mysql:host=localhost;dbname=simul','root','');
$cnx->query('SET NAMES utf8');
$cnx->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$req = $cnx->prepare('Select * from price');
$req-> execute();
$data = $req->fetchAll(PDO::FETCH_KEY_PAIR);
print_r($data);
我的 JS:
function set_global_var(){
$.ajax({
type: "POST",
url: '/global.php',
async: false,
success: function(rep){console.log(rep);},
});
}
打印_r:
Array
(
[0] => Array
(
[small-bronze] => 5
)
[1] => Array
(
[small-silver] => 10
)
)
为了快速访问它,我只想要类似的东西:
[small-bronze] => 5
[small-silver] => 10
[small-gold] => 15
数据库:
item price
small-bronze 5
我怎样才能有效地做到这一点? PDO::FETCH_KEY_PAIR 错了吗? 提前谢谢你!
【问题讨论】:
-
看起来很奇怪。我敢打赌你自己的后期处理。你能提供一个实际工作的真实代码sn-p,而不是人工制作的草图吗?顺便说一句,表中有多少个字段?
-
感谢您的回答。同意,第一次见。现在已编辑,信息够了吗?
-
好吧,我能建议的只是创建一个MCVE that everyone could run and confirm your case。
-
鉴于提供的输出,您很可能正在运行另一个版本的代码,其中实际使用 PDO::FETCH_ASSOC 而不是 PDO::FETCH_KEY_PAIR
-
是的......就是这样......本地有一个旧版本......我觉得有点愚蠢,但是谢谢,现在它可以工作了!