2017-04-17 111 views
0

不能使mysqli_insert_id工作.. 該id是AUTO_INCREMENT但仍然無法正常工作。mysqli_insert_id不斷地返回0

$query = "INSERT INTO categoriasdivisiones (titulo, orden, descripcion, id_familiadivisiones) VALUES ('$titulo','$orden', '$descripcion', '$id_familia');"; 

    mysqli_query($base, $query); 

    $ultimo_id = mysqli_insert_id($base); 

在這裏,我調用數據庫:

include('../../../php/config.php'); 

路線是確定的。

我知道在代碼中的問題,是INSERT_ID功能,因爲我有一個形象,在這裏我使用此路徑:

move_uploaded_file($foto['tmp_name'], '../../../imagenes/categoriadivisiones/catdivisiones_'.$ultimo_id.'.'.$extensionfoto.''); 

而且圖像被保存爲= catdivisiones_0.png

希望你可以幫我。

CREATE TABLE `categoriasdivisiones` (
    `id` int(11) NOT NULL, 
    `titulo` text NOT NULL, 
    `descripcion` text NOT NULL, 
    `imagen` text NOT NULL, 
    `orden` text NOT NULL, 
    `id_familiadivisiones` int(11) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
ALTER TABLE `categoriasdivisiones` 
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; 
+2

[Little Bobby](http://bobby-tables.com/)說*** [你的腳本存在SQL注入攻擊風險。](http://stackoverflow.com/questions/60174 /如何-可以-I-防止-sql -injection-in-php)***瞭解[MySQLi]的[prepared](http://en.wikipedia.org/wiki/Prepared_statement)語句(http://php.net/manual/en/) mysqli.quickstart.prepared-statements.php)。即使[轉義字符串](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)是不安全的! –

+0

'mysqli_insert_id()'函數返回在最後一個查詢中使用的id(由'AUTO_INCREMENT'生成)。你在使用自動增量嗎? –

+0

是的,我是,「ID是A_I但仍然不起作用。」 –

回答

0

確保$ base變量具有connection.after VALUES('XX','XX','XX'XX')。REMOVE';'

得到的查詢

$query = "INSERT INTO categoriasdivisiones (titulo, orden, descripcion, id_familiadivisiones) VALUES ('$titulo','$orden', '$descripcion', '$id_familia')"; 

mysqli_query($base, $query); 

$ultimo_id = mysqli_insert_id($base); 
0

你可以使用這個在創建id int auto_increment primary key或者您也可以通過ID select id from your_table order by id DESC 並存儲在一個變量,總和+1這樣<?php $new_id = $id_from_database + 1 ?>

選擇最新記錄

希望我幫忙