我知道有很多标题相同的主题。但是大多数情况是将查询插入了错误的位置。但是我认为我说对了。所以问题是,即使将数据插入数据库,我仍然会得到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,0,-1).")"; $waardes = substr($waardes,0,-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(" ","",str_replace("\r\n","\n",mysql_error())))); $waarde = mysql_insert_id();
在此先多谢一遍,因为我几乎已经整整一天都为此而努力。(可能有点小而愚蠢)
根据手册 mysql_insert_id返回:
成功执行前一个查询为AUTO_INCREMENT列生成的ID; 如果前一个查询未生成AUTO_INCREMENT值 ,则为0;如果未建立MySQL连接,则为FALSE。
由于它没有提供给您false并且编号不正确,因此表明查询的表未生成自动递增值。
false
我可以想到两种可能性:
解:
$waarde = mysql_insert_id($this->db);