在执行mysql_query($sql) or die('error code:' . mysql_errno());
后,报错error code:1406其中的$sql是一个insert插入语句,把它直接拷贝到可视化的程序中执行是没问题的啊,但在这边一执行就出错,请大家帮忙看看,错在哪儿了?

解决方案 »

  1.   

    你看看mysql_error输出什么还有把你Sql语句打印出来看看是什么....
      

  2.   

    echo 一下,看看输出的SQL语句错在哪儿!是在看不出来,就在phpMyAdmin里面运行一下,会提示你什么错误的
      

  3.   

    我搜索了一下,1406错误意味着要插入的某个(或某几个)数据长度太长,而字段的定义中的长度太短。比如你定义了varchar(255),但是要想输入一篇文章时会出现这个问题。根据我的经验,在类似PMA这样的环境中,PMA会帮你自动trunc多出来的字符,但是在严格PHP环境下,可能就会出错。这也是你碰到的情况。所以,你可以将你最终的SQL列出来看看,然后再看看你的字段定义。
      

  4.   

    谢谢,正式因为这个原因,但你是在哪里搜到的呢?我在Google搜了半天都没找到。
      

  5.   


    我用"mysql error 1046"在Google进行搜索……