JavaScript Arrays and MySQL

JavaScript Arrays and MySQL

本文关键字:MySQL and Arrays JavaScript      更新时间:2023-09-26

我正试图用PHP连接到一个数据库,然后将MySQL查询返回的所有值放入一个JavaScript字符串数组中。

这是我迄今为止掌握的代码。

JavaScript代码:

var noDressing = document.getElementById("temp1").innerHTML;
var noDressingNew = noDressing.split(',');
alert(NoDressingNew);

我提醒列表进行调试。

以下是PHP代码(我知道它成功连接到数据库):

<div id="temp1" style="display: none;">
    <?php
        include "/home/pi/config.php";
        $toPrint = "";
        $connect = mysqli_connect("localhost", $name, $pass, "items");
        if(mysqli_connect_errno()){
            echo "<p>Failed to connect to products database!</p>";
        }
        $result = mysqli_query($connect, "SELECT * FROM products WHERE options=''");
        while($row = mysqli_fetch_array($result)){
            $id = $row['id'];
            $toPrint .= $id . ",";
        }
        echo rtrim($toPrint, ",");
    ?>
</div>

这就是我的表在数据库中的样子:

ID | NAME | DESCRIPTION | PRICE | TYPE | OPTIONS

我想获取OPTIONS值为"(空字符串)的所有记录,然后将它们的ID放入列表中。

但是,当我运行此代码时,根本不会显示报警框

谢谢,

将这些添加到数组中,然后在数组上调用内爆()会更有意义;

$toPrint = array();
while($row = mysqli_fetch_array($result)){
    $toPrint[] = $row['id'];
}
$toPrint = implode(',', $toPrint);

如果没有警报框,则很可能是Javascript错误导致了该特定问题,尽管这可能意味着您在更高的级别上遇到了问题。首先按F12打开浏览器的开发工具,然后转到控制台并刷新页面。检查控制台中是否出现任何错误,并尝试更正这些错误。

在使用PHP之前,请尝试直接在数据库上运行SQL,以确保SQL按预期工作。为此,您可以使用任意数量的工具。PHPMyAdmin、HeidiSQL或SQLYog就是为了这个目的而出现的。检查那里是否存在任何错误。

如果SQL中不存在查询结果,请使用var_dump在网页上显示查询结果(执行此操作时删除"display:none;")。请确保您从SQL中获得结果。在循环中尝试var_dump,以检查在循环本身中是否获得了正确的值。

最后,您需要确保直接在表单上显示的任何内容都是正确的HTML转义,以避免跨站点脚本攻击。您可以为此使用htmlspecialchars。像这样回显你的字符串:

echo htmlspecialchars($toPrint);

以下是如何使用开源项目http://www.jinqJs.com

var result = jinqJs().from($result).where('OPTIONS == ""').select('ID');