php - 这个数据库调用有什么问题?

标签 php jquery mysql json

-问题仍未解决-

我正在尝试调用一个数据库,将一个表的所有行放入一个数组中,将该表作为 json 数据传递给我的 JS,然后将该数据用作函数的参数。

当我运行脚本时,没有任何反应。我在控制台中没有收到任何错误,脚本的其余部分正常加载。我是 mySQL 和 PHP 的新手,我在这里做错了什么?我怀疑我以某种方式搞砸了 php。

  • XAMPP 服务器,正在我的桌面上进行测试
  • 所有链接文件都在同一个目录中
  • 任何地方都没有显示可见的错误。据我所知,脚本甚至没有尝试加载 PHP,但也没有在 firebug 的控制台中显示错误

尝试:

  • 不带空格重命名表格
  • 将for循环放在回调函数中
  • 修改 php 错误

这是我正在使用的更新后的 JS:

    this.taskMenu = function()
    {
        var table = [];
        $.getJSON("taskMaster.php", {"table" : "firstlist"},
            function(data)
            {
                table.push(data);

                for(i=0; i<table.length; i++)
                {
                    var taskId = table[i].taskName.replace(/\s+/g,"") + i;
                    formatTask("interface",taskId,table[i].taskName,table[i].taskDescription,table[i].taskComplete);
                }

            });
     }

这是更新后的 PHP:

error_reporting(E_ALL); ini_set('display_errors','On');
$con = mysql_connect("localhost", "root", "m3648y73");
if (!$con){die('Could not connect: ' . mysql_error());};
mysql_select_db("tasklistdb", $con);

$table = $_GET['table'];

$sql = mysql_query("SELECT taskName, taskId, taskDescription, taskComplete FROM `".$table."`");
$listTasks = array();

while ($row_user = mysql_fetch_assoc($sql))
    $listTasks[] = $row_user;

echo json_encode($listTasks);

mysql_close($con);

我是否正确链接到数据库?

最佳答案

getJSON 是异步调用。所以在它可以从 PHP 获取值并执行回调函数之前,它移动到 for 循环并且这里的表是空的。

解决方案:将 for 循环移到回调函数中

关于php - 这个数据库调用有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674018/

相关文章:

php - 如何在yii2中制作下拉列表?

php - 如何在博客/新闻文章的文本区域中设置文本格式

javascript - 如何使用嵌套过滤器来检测是否只有一个 li & 它的 child 只有 <strong>

mysql - 在 MySQL 中使用范围分区获得意外结果

php - 从多行中选择Mysql数据,算术,排序

php - $this->headTitle 转义数据

php - php加载内容后向下滑动页面

javascript - 脚本5007 : Unable to set value of the property 'href' : object is null or undefined

javascript - 滚动到 JavaScript

mysql - MySQL 中的触发器