我知道有很多相同标题的主题.但主要是查询被插入错误的地方.但我认为我做对了.
所以问题是,即使数据插入数据库,我仍然会得到0.
有人知道答案我错了吗?
所以问题是,即使数据插入数据库,我仍然会得到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("\r\n","\n",$insert))."\n\n".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);