从db dynamic中检索数据;不起作用


retrieving data from db dynamic doesn't work

我的数据在mysql中。我使用PDO用php提取数据,然后使用json_encode转换为js。当我使用以下场景时,我总是得到输出NaN,如果我使用静态数组,它就可以工作。所以我猜测它要么是错误的json格式,要么是php的问题。

如果我平滑地设置数组的值,这会起作用:代码笔:http://codepen.io/pghiran/pen/QEvRjW

动态(从数据库中提取数据并存储在数组中(不起作用。我的代码是:

PHP

$exchangeRates =  array();
$sql = 'SELECT * FROM exchange';
try {
    $stmt = $conn->prepare($sql);
    $stmt->execute();
    for ($i=0; $row=$stmt->fetch();$i++){
        $exchangeRates[] = array($row['rs3'],$row['07'],$row['deadman'],$row['currency']);
    }
}catch(exception $e){
    return $e;
}
var_dump($exchangeRates);

var_dump显示:array(1({[0]=>array(4({[0]=>string(3("0.5"[1]=>string(2("1.5"[2]=>string(4("3.5"[3]=>string(1("$"}}

JS/Jquery:

var amount = $('#amount'),
                    goldtype = $('#goldtype'),
                    exchange= <?php echo json_encode($exchangeRates);?>,
                    price = $('#price');
                    console.log(exchange); 
                    goldtype.change(function () {
                        var exchangeIndex = $("select[name='goldtype'] option:selected").index();
                        price.val(amount.val() * exchange[exchangeIndex]);
                    })

控制台.日志(交换(显示:

[Array[4]]
0
:
Array[4]
0
:
"0.5"
1
:
"1.5"
2
:
"3.5"
3
:
"$"
length
:
4

https://gyazo.com/b167b38d62d9c4b567f31cc35ce00289

  $exchangeRates[] = array($row['rs3'],$row['07'],$row['deadman'],$row['currency']);

这只是在汇率[0]中节省。我把这行改成:

  $exchangeRate = array($row['rs3'],$row['07'],$row['deadman'],$row['currency']);