2015-12-23 69 views
0

我在mysql表中插入一行,然後我嘗試獲取插入的數據自動遞增的ID。不過遺憾的是它不工作...如何在插入數據後立即獲取數據

我的代碼看起來喜歡 -

$q4 = $query - > prepare('INSERT INTO tblstate(state, country_id) VALUES(:state, :country_id)', $con); 
$res4 = $query - > InsertState($q4, $state, $country_id); 

if (isset($res4)) { 
    $q5 = $query - > prepare('SELECT * FROM tblstate WHERE state=:state', $con); 
    $res5 = $query - > SelectState($q5, $state); 
    $state_id = $res5['state_id']; 

} 

表結構是 -

Table name: tblstate Fields: state_id(AUTO_INCREMENTED)(PK), state, country_id 

function InsertState($q, $state, $country_id) { 
    $q - > execute(array('state' => $state, 'country_id' => $country_id)); 
    return self::Result($q); 
} 

function SelectState($q, $state) { 
    $q - > execute(array('state' => $state)); 
    return self::Result($q); 
} 
+1

你在使用什麼驅動程序,應該有最後一個插入ID功能。 A)http://php.net/manual/en/mysqli.insert-id.php B)http://php.net/manual/en/pdo.lastinsertid.php – chris85

+0

mysql:PDO ...我會已經嘗試過lastInsertId(),但這不起作用。 – Hasan

+0

發生了什麼事?你可以顯示使用情況,也可能是什麼'InsertState'呢? – chris85

回答

相關問題