use*_*079 8 php mysql return mysql-insert-id
我知道有很多相同标题的主题.但主要是它被插入错误的地方的查询.但我认为我做对了.所以问题是,即使数据插入数据库,我仍然会得到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();
Run Code Online (Sandbox Code Playgroud)
非常感谢,因为我几乎已经整整一天为这个问题而烦恼.(可能它是小而愚蠢的东西)
Mar*_*cus 13
根据手册 mysql_insert_id返回:
上次查询成功时为AUTO_INCREMENT列生成的ID,如果上一个查询未生成AUTO_INCREMENT值,则为0;如果未建立MySQL连接,则为FALSE.
由于它没有给出您false而不是正确的数字,它表示查询的表没有生成自动增量值.
我能想到两种可能性:
解:
$waarde = mysql_insert_id($this->db);