“数据库导入后出现非法混合操作'concat'”

时间:2013-07-20 13:58:25

标签: php collation concat

在我的旧网站中,此问题不存在。但在我更改服务器并导入数据库后,将显示此消息。 PHP版本是5.3,这是代码:

$sql = "SELECT * FROM movcaixa 

    WHERE data BETWEEN '$data1' AND '$data2' AND empresa = $empresa 

    ORDER BY data ASC";
   $resMovCaixa = mysql_query($sql, $cnn) or die('Falha na conexão com o banco de dados');
   $sql = "SELECT cp.id AS codigo, CONCAT('Pagamento ref. a ', des.descricao, ', conforme doc. nº ',  cp.documento) AS hist, DATE_FORMAT(cp.quitacao, '%d/%m/%Y') AS data, cp.valorpago AS vlr, cp.documento AS doc, fr.nome AS forn, des.descricao AS desp 

    FROM contaspagar cp, fornecedor fr, despesa des 

    WHERE cp.fornecedor = fr.id AND cp.despesa = des.id AND cp.quitacao BETWEEN '$data1' AND '$data2' AND empresa = $empresa 

    ORDER BY data ASC";
    $resContasPagar = mysql_query($sql, $cnn) or die(mysql_error($cnn));
    $sql = "SELECT cr.id AS codigo, DATE_FORMAT(cr.quitacao, '%d/%m/%Y') AS data, CONCAT('Recebimento ref. ', cli.nome, ', conforme doc. ', cr.documento) AS hist, cr.valorpago AS vlr, cr.documento AS doc, cs.descricao AS cont 

    FROM contasreceber cr, contratoservico cs, cliente cli 

    WHERE cr.contratoservico = cs.id AND cs.cliente = cli.id AND cr.quitacao BETWEEN '$data1' AND '$data2' AND empresa = $empresa 

    ORDER BY cr.quitacao";

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

检查表的排序规则,在CONCAT函数中使用:

  1. DES
  2. CP
  3. CLI
  4. CR
  5. 对所有这些使用相同的排序规则。