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);
}
你在使用什麼驅動程序,應該有最後一個插入ID功能。 A)http://php.net/manual/en/mysqli.insert-id.php B)http://php.net/manual/en/pdo.lastinsertid.php – chris85
mysql:PDO ...我會已經嘗試過lastInsertId(),但這不起作用。 – Hasan
發生了什麼事?你可以顯示使用情況,也可能是什麼'InsertState'呢? – chris85