Wierd php数组?数据库查询后
可能重复:Wierd php数组?数据库查询后,php,arrays,Php,Arrays,可能重复: 我从一个数据库中进行了查询,结果存储在一个变量中,该变量被认为是一个数组。输出只有一行和一列,因此我使用: echo result[0]; 以输出结果。 然而,我得到一个错误,说: Notice: Array to string conversion in "C:/apache/htdocs...." array 我尝试使用 var_dump result[0]; 然后我明白了 array(1) { [0]=> array(1) { ["var_datain"]=>
我从一个数据库中进行了查询,结果存储在一个变量中,该变量被认为是一个数组。输出只有一行和一列,因此我使用:
echo result[0];
以输出结果。
然而,我得到一个错误,说:
Notice: Array to string conversion in "C:/apache/htdocs...."
array
我尝试使用
var_dump result[0];
然后我明白了
array(1) { [0]=> array(1) { ["var_datain"]=> string(4) "hai!" } }
所以。。。。我如何让它呼应出值hai来自该数组
如果有关系,我的问题是
$db = new PDO(DSN, DBUSER, DBPASS);
$stmt = $db->prepare("CALL test(?)");
$parameter = 'hai!';
$stmt->bindValue(1, $parameter, PDO::PARAM_STR);
$rs = $stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($result);
这是一个多维数组
echo $result[0]['var_datain'];
这取决于您执行查询的方式(向我们显示更多代码以更好地解释您),但在您的情况下,查询返回的每一行似乎都是另一个包含所选列的数组。即使只选择一个列和一行,它仍然作为多维数组返回
echo $result[0]['var_datain'];
明白了吗?太棒了!但我也应该能够完成$result[0][0],对吗?因为我引用了它的索引,但是我得到了一个错误:注意:未定义的偏移量:0@VidhuShresthBhatnagar您正在通过
PDO::fetch_ASSOC
执行关联提取,因此您不会收到返回的数字键,只会收到列名中的关联键。因此,必须使用$result[0]['var\u datain']
。编辑:如果要使用$result[0][0]
putPDO::FETCH\u NUM
而不是PDO::FETCH\u ASSOC
。您还可以使用PDO::FETCH_BOTH
返回$result[0][0]
和$result[0]['var\u datain']
嗨,我刚做了数组值($result),然后我可以做$result[0][0],但我会改用PDO::FETCH_NUM。谢谢Phius