加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – mysql_insert_id()返回0

发布时间:2020-12-13 18:06:10 所属栏目:PHP教程 来源:网络整理
导读:我知道有很多相同标题的主题.但主要是查询被插入错误的地方.但我认为我做对了. 所以问题是,即使数据插入数据库,我仍然会得到0. 有人知道答案我错了吗? 这是我的代码: mysql_query('SET NAMES utf8'); $this-arr_kolommen = $arr_kolommen; $this-arr_waard
我知道有很多相同标题的主题.但主要是查询被插入错误的地方.但我认为我做对了.
所以问题是,即使数据插入数据库,我仍然会得到0.
有人知道答案我错了吗?

这是我的代码:

mysql_query('SET NAMES utf8');
    $this->arr_kolommen = $arr_kolommen;
    $this->arr_waardes = $arr_waardes;
    $this->tabel = $tabel;
    $aantal = count($this->arr_kolommen);
    //$sql="INSERT INTO `tbl_photo_lijst_zoekcriteria` ( `PLZ_FOTO`,`PLZ_ZOEKCRITERIA`,`PLZ_CATEGORIE`)VALUES ('$foto','$zoekje','$afdeling');";
    $insert = "INSERT INTO ".$this->tabel." ";
    $kolommen = "(";
    $waardes = " VALUES(";
    for($i=0;$i<$aantal;$i++)
    {
        $kolommen .=$this->arr_kolommen[$i].",";
        $waardes .="'".$this->arr_waardes[$i]."',";
    }
    $kolommen = substr($kolommen,-1).")";
    $waardes = substr($waardes,-1).")";
    $insert .=$kolommen.$waardes;   
    $result = mysql_query($insert,$this->db)  or die ($this->sendErrorToMail(str_replace("  ","",str_replace("rn","n",$insert))."nn".str_replace(" ",mysql_error()))));
    $waarde = mysql_insert_id();

非常感谢,因为我几乎已经整整一天为这个问题而烦恼. (可能它是小而愚蠢的东西)

根据 manual mysql_insert_id返回:

The ID generated for an AUTO_INCREMENT column by the previous query on
success,0 if the previous query does not generate an AUTO_INCREMENT
value
,or FALSE if no MySQL connection was established.

由于它没有给出错误而不是正确的数字,因此它表示查询的表没有生成自动增量值.

我能想到两种可能性:

>您的表没有auto_increment字段
>由于您没有提供mysql_insert_id()的链接,但是使用了mysql_query()的链接,因此它可能不是检索最后插入的ID时查询的正确表.

解:

>确保它有一个auto_increment字段>提供链接以及:$waarde = mysql_insert_id($this-> db);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读