PHP脚本中,举例有如下代码:
$sql_jtcu = "INSERT INTO illust_com_user (user_id,mail_address) values(***,****)
mysql_query($sql_jtcu);现在的问题是这样的:
    user_id 的类型是 varchar(11) ,但是插入的数据是 12位的。此时这条语句在PHP中不执行,但是在MYsql客户端是可以执行的,并且执行的结果也是正确的,虽然有警告。分析得到的原因:
   只要脚本中的SQL语句,存在警告的。(注意不是Error),脚本都不予执行解决办法有2个:
   1.执行SQL语句,有警告的,找出某个字段,再改正。比如我将 user_id 的类型改为 varchar(16)位,上面的问题可以解决。
   2.如何让PHP脚本中存在警告的SQL语句,也继续执行。针对第1种解决办法:因为脚本中诸如此类的问题存在不可预见性,不可保证以后每次执行都不会有警告。万一有警告,就不能执行了目前最希望的是第2种解决办法,请高手指教。

解决方案 »

  1.   

    我的建议是,对 数据源进行处理.把你的 user_id 这个 php 值 做一个 substr
    SO....
      

  2.   

    Mysql模式的问题吧? 估计php使用的是严格模式 客户端是非严格模式。
      

  3.   

    我也遇到了同样的问题,报聚合函数的警告,然后就不执行下去了
    弄了好多天,最后换个思路   使用ODBC连接处理,解决了
    希望会对其他同学有帮助
    解决办法    有问题的部分 使用ODBC连接处理