我正在使用PDO访问数据库以检索值,但返回的数组很乱。有没有办法可以获取值并将每个值分配给变量?
这是我的代码:
$conn = new PDO(
"mysql:host=$host;dbname=$db",
$username,
$passwd,
array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
)
);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$result = $conn->query('SELECT * FROM kanji WHERE wordid = 1 ');
$row = $result->fetchAll();
var_dump($row);
结果如下:
array(1) { [0]=> array(16) { ["wordid"]=> string(1) "1" [0]=> string(1) "1" ["audio"]=>
string(38) "585c02afdc272d3a3473a888b9b185a4.mp3 " [1]=> string(38)
"585c02afdc272d3a3473a888b9b185a4.mp3 " ["image"]=> string(23) "paste-5317169512449.jpg"
[2]=> string(23) "paste-5317169512449.jpg" ["guess"]=> string(6) "okujou" [3]=> string(6)
"okujou" ["kanji"]=> string(6) "屋上" [4]=> string(6) "屋上" ["fullword"]=> string(6)
"okujou" [5]=> string(6) "okujou" ["vietnamese"]=> string(10) "roof,top " [6]=> string(10)
"roof,top " ["example"]=> string(8) "屋上 " [7]=> string(8) "屋上 " } }
我想要一个像["wordid"]=> "1"
这样的结果,所以我可以将每个值分配给一个变量。
答案 0 :(得分:1)
您可以在fetch_mode
:
fetchAll
$row = $result->fetchAll(PDO::FETCH_ASSOC);
或者使用setFetchMode设置要使用的默认提取模式。