javascript - 将 SQL 查询结果从 PHP 传递到 Javascript 数组

标签 javascript php arrays json

我习惯每天以这种方式手动更新 javaScript 变量

<script>
    var data = [
            ['Austria','IBM','8284927','UF93NV', '10'],
            ['Spain','Dell','1098193','MN87QA', '4'],
            ...
          ];
    //rest of my code
<script>

我想使用 PHP 将 SQL 查询结果中的值传递给此变量,这样我就不需要每天键入几行。 我创建了这个 PHP 文件,在其中连接到数据库并将查询结果存储在数组中。

 <?php   
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$ser="*******";
$db="*******"; 
$user="*******"; 
$pass="*******";

$dbDB = new PDO("odbc:Driver=ODBC Driver 13 for SQL Server;Server=*******;Database=*******;Port=1456", $user, $pass);

$sth = $dbDB->prepare("SELECT top 2 [Country],[Customer Name],[Purchase Number],[Part Number],[Qty] FROM *******");
$sth->execute();

$result = $sth->fetchAll();

print_r($result);
 ?>  

如您在结果下方看到的那样,它工作正常 enter image description here

现在我想使用 jason_encode 将变量 $result 中的值传递给 javaScript 标记内的变量 data。 我在同一个 PHP 文件中添加了以下代码

<script type="text/javascript">
    var data = <?php echo json_encode($result); ?>;
    alert(data.toString());
</script>

但是当我添加警报以查看变量数据的值时,我收到了此消息 enter image description here

我的变量应该是这样的

var data = [
['Austria','Tech Data Service GmbH','3508224010','01HV707', '4'],
['Austria','Tech Data Service GmbH','3508314557','40M7578', '1']
];

有什么建议吗?我错过了什么?谢谢。

最佳答案

数据已经存在于您的变量中。要检查对象的外观,可以使用 alert(JSON.stringify(data))

data 变量的内容不会是 JavaScript 中的数组,因为 PHP 中的关联数组是 JSON 中的对象。

要获得所需的结果,最简单的解决方案是使用 $result = $sth->fetchAll(PDO::FETCH_NUM);

关于javascript - 将 SQL 查询结果从 PHP 传递到 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46743882/

相关文章:

javascript - 正则表达式问题 - 在字符串中查找数字

javascript - 在 React 中添加 onClick 事件到 <tr>

javascript - 使用 colspan 或 rowspan 的 html 表格选择

PHP 显示每个 div 的一定数量的记录

php - 除非我关闭 mysqli 连接,否则连续查询不会运行

javascript - 为什么AJAX函数不立即从数据库获取数据?

Javascript 函数不等待函数完成

javascript - 打印数组javascript中重复数字的索引

c - 使用数组打印数字的形状

c - 在 C 中初始化一个零数组