也许这是一个愚蠢的问题,但我找不到答案。当我使用sql命令时,显示行的限制是"从表格顺序中选择*作为id asc limit 0,X"?
因为我正在处理使用它的脚本,直到700行我才会遇到问题。例如,如果我想要限制800行,我就看不到任何数据,而error_log表示"未定义索引"。
$sql = "SELECT id,email,nome,cognome,lingua,unsubscribe ";
$sql.=" FROM newsletter_utenti WHERE 1=1";
if( !empty($requestData['search']['value']) ) {
$sql.=" AND ( id LIKE '".$requestData['search']['value']."%' ";
$sql.=" OR email LIKE '".$requestData['search']['value']."%' ";
$sql.=" OR nome LIKE '".$requestData['search']['value']."%' ";
$sql.=" OR cognome LIKE '".$requestData['search']['value']."%' ";
$sql.=" OR lingua LIKE '".$requestData['search']['value']."%' )";
}
$query=mysqli_query($db, $sql) or die("errore filtro");
$totalFiltered = mysqli_num_rows($query);
$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
$query=mysqli_query($db, $sql) or die("order by error");
这个问题引用了我以前的帖子:DataTable server side works only when I have a few data
我认为还有两个不同的问题,所以我打开了第二个帖子。
谢谢
答案 0 :(得分:0)
解决!
默认情况下,MySQL实例未配置为期望UTF-8编码来自客户端连接,因此我使用了SET NAMES utf8
。
谢谢大家! :)