2013-11-21 47 views
2

服务器端数据表。除搜索框外,一切正常。只要我在查找框中输入一个字符,这个错误显示出来:jquery datatables搜索不起作用,但其他一切都很好

DataTables warning (table id = 'sample_1'): DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error. 

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number' in /home/test/public_html/assets/data-tables/test-pdo.php:99 
Stack trace: 
#0 /home/test/public_html/assets/data-tables/test-pdo.php(99): PDOStatement->execute() 
#1 /home/test/public_html/assets/data-tables/test-pdo.php(143): TableData->get('accounts', 'account_id', Array) 
#2 {main} 
thrown in /home/test/public_html/assets/data-tables/test-pdo.php on line 99 

线99 - $statement->execute();从参数绑定

我使用的数据表的PDO脚本中列出here

+0

这是PHP错误,很可能你没有通过足够的参数绑定 –

+0

这实际上是因为我在我的数据库连接中使用PDO :: ATTR_EMULATE_PREPARES => false。与第三方脚本的搜索部分和绑定的东西没有正确完成。如果我打开“开启”模拟,它可以正常工作。 – user756659

+0

问题中没有足够的信息来回答这个问题。你如何建立你的搜索查询? –

回答

3

这是一个SQL错误不是Jquery ... 请检查您的传递参数。

+0

Datatables是一个jQuery插件... – user756659

1

您收到的错误是因为您在php代码中出错了。 jQuery只是加载你的php页面并给你输出。


在你的php代码中,尝试将模拟准备设置为false,这可能会导致问题。当我将它设置为false时它对我有效。

+0

是的,我知道这个...我想解决这个问题,同时保持为我的db连接设置'PDO :: ATTR_EMULATE_PREPARES => false'。 – user756659

0

在此处验证您的JSon响应http://jsonlint.com/ 检查其无效或有效的JSON。
当你在搜索框中输入一些数据时,你的jquery也会触发命令。
尝试检查数据库属性类型的错误(数字或文本)

相关问题