需要建议,使php服务器端数据表工作正常


Need advice to make php server side Datatables work properly

服务器端数据表发生了一些奇怪的事情:https://github.com/n1crack/Datatables.

不明白发生了什么,我做了和例子完全一样的事情,但它根本不起作用。根据"where"示例https://github.com/n1crack/Datatables/blob/master/public/examples/where/ajax.php,看看它应该有多简单:

$dt = new Datatables(new MySQL($config));
$dt->query("Select film_id as fid, title, description from film where film_id > 47 and film_id < 83");
echo $dt->generate();
我代码:

$config = [ 'host'     => 'localhost',
        'port'     => '3306',
        'username' => 'root',
        'password' => '',
        'database' => 'sys_db_gincana' ];
        $dt = new Datatables( new MySQL($config) );
        $dt->query("
        SELECT seen, id, name, cep, date_format(created,'%d/%m/%Y %h:%i:%s') as created
        FROM user
        ");
        echo $dt->generate();

现在看看我的js控制台从ajax打印的内容:

遇到PHP错误

严重性:4096

消息:参数1传递给PHPSQLParser'builders'WhereBuilder::build()必须是array类型,给定布尔值,在C:'Program Files中调用(x86) ' easyphp devserver - 14.1 vc11 ' data ' localweb ' gincana ' '项目供应商' greenlion ' php-sql-parser ' src ' PHPSQLParser '建筑商' SelectStatementBuilder.php在第74行定义

Filename: builders/WhereBuilder.php

行号:112

遇到PHP错误

严重性:警告

消息:为无效参数提供foreach()

文件名:builders/WhereBuilder.php

行数量:114

遇到PHP错误

严重性:4096

消息:参数1传递给PHPSQLParser'builders'WhereBuilder::build()必须是array类型,给定布尔值,在C:'Program Files中调用(x86) ' easyphp devserver - 14.1 vc11 ' data ' localweb ' gincana ' '项目供应商' greenlion ' php-sql-parser ' src ' PHPSQLParser '建筑商' SelectStatementBuilder.php在第74行定义

Filename: builders/WhereBuilder.php

行号:112

遇到PHP错误

严重性:警告

消息:为无效参数提供foreach()

文件名:builders/WhereBuilder.php

行数量:114


致命错误:调用成员函数fetch_assoc()在C:'Program Files中的非对象上(x86) ' easyphp devserver - 14.1 vc11 ' data ' localweb ' gincana ' '项目供应商'奥兹德米尔' datatable ' src ' DB ' MySQL.php On line 40

如果我将查询改为:

        $dt = new Datatables( new MySQL($config) );
        $dt->query("
        SELECT seen, id, name, cep, date_format(created,'%d/%m/%Y %h:%i:%s') as created
        FROM user
        WHERE approved = 0 and canceled = 0
        ");
        echo $dt->generate();

错误改变:

遇到PHP错误

严重性:警告

消息:array_merge():参数#2 is

文件名:src/databases .php

行号:47


致命错误:调用成员函数fetch_assoc()在C:'Program Files中的非对象上(x86) ' easyphp devserver - 14.1 vc11 ' data ' localweb ' gincana ' '项目供应商'奥兹德米尔' datatable ' src ' DB ' MySQL.php On line 40

好吧,图书馆是有点新(2015年1月),我想知道是否有人成功地使用它可以帮助我。关于

WhereBuilder中的问题来自PHPSQLParser,您可以从https://github.com/greenlion/PHP-SQL-Parser测试最新版本吗?这似乎是一个简单的SQL语句,所以实际上它应该工作。我已经把你的问题转移到GitHub,请遵循那里的变化。