我得到了一个关联数组,它和数据库中只有一行的普通数组一样好


I get an associative array back as wel as a normal one with only one row from the db?

我正在取回值,并将其传递给具有json_encode 的ajaxfunction

奇怪的是我得到了{0:val1, val1:val1,1:val2,val2:val2}回到firebug。我期望得到一个数组而不是一个对象,即[val1, val2]

这是一个查询:

$q = "SELECT twitter_id,kindplaatje FROM krv_profielen WHERE twitter_id IS NOT NULL AND kindplaatje IS NOT NULL";
    $r = @mysql_query ($q,$dbc) or trigger_error("Query: $q'n<br />MySQL Fout: " . mysql_error($dbc));// Voer de query uit.
    if ($r) {
        if (mysql_num_rows($r) >= 1){
            $check = "ok";
            $data = mysql_fetch_array($r);

这是正常反应吗?

因为默认情况下mysql_fetch_array返回一个按数字和键索引的组合数组。请参见此处:http://us3.php.net/mysql_fetch_array

请改用mysql_fetch_assoc

这是正常行为,refhttp://no2.php.net/mysql_fetch_array.

如果你不想这样,你可以在mysql_fetch_array中添加第二个参数,其中之一是:

  • MYSQL_ASSOC
  • MYSQL_NUM
  • MYSQL_BOTH

默认为MYSQL_BOTH