第一段:
$query = "INSERT INTO products (products_quantity) VALUES ('10000')";
if($result33 = mysql_db_query($DataBase, $query)){
$new_id=mysql_insert_id();
echo" product insert ok $new_id <br>";
}
第二段:
$query = "INSERT INTO products (products_quantity) VALUES ('10000')";
$result33 = mysql_db_query($DataBase, $query);
$new_id=mysql_insert_id();
if($result33)
{
echo" product insert ok $new_id <br>";
}

解决方案 »

  1.   

    如果 INSERT INTO products (products_quantity) VALUES ('10000') 本身是正确的话
    两者没有区别如果要依赖 MySQL 去检查 SQL 语句的正确性,那么建议你放弃编程
      

  2.   

    建议使用第一段,如果程序在 mysql_db_query 的时候就挂了,那么后面mysql_insert_id就没什么意义,直接跳过为好
      

  3.   

    因为我在运行第二段代码批量快速的插入数据的时候,竟然会有重复的数据写入,有时我明明只插入了一条记录,但查看数据表时,却多出了3条甚至4条一模一样的记录 
    然后我换第一段代码,就没有重复记录的现象了,所以我有点怀疑了,难道 if($result33)  这样也会多运行一次插入记录的操作?
    然后我又运行了一次,这两段代码都会造成产品记录的重复插入,难道是MYSQL的配置问题?就用ZENCART系统的products 表进行测试就行了,就会有这种现象在GODADDY上虚拟空间上有这种现象
      

  4.   

    区别不大,个人喜欢这样写$query = "INSERT INTO products (products_quantity) VALUES ('10000')";
    $result33 = mysql_db_query($DataBase, $query);if($result33)
    {
    $new_id=mysql_insert_id();
    echo" product insert ok $new_id <br>";
    }