Autor | Zpráva | ||
---|---|---|---|
Akacko Profil |
#1 · Zasláno: 25. 12. 2007, 14:26:56
zdravím,
zkouším mysqli, napsal jsem si třídu pro připojení k db a její obsluhu (dotazy). Jelikož při některých událostech potřebuji vložit/upravit údaje v různých tabulkách v db (tabulky jsou spojeny primárním klíčem) jsem si pro to napsal funkci: public function multiExecute($sql) { $this->printSql($sql); $ok = $this->mysqli->multi_query($sql); if ( $ok ) { return TRUE; } else { $this->printError($this->mysqli->error); return FALSE; } } potom tuto funkcí používám takto: $db->multiExecute("INSERT INTO user (user_login, user_email, user_password) VALUES (\"".$_POST["login"]."\",\"".$_POST["email"]."\",\"".$pswd."\"); INSERT INTO reg_data (user, registered) VALUES (\"".$db->insertId()."\",\"".returnDate()."\")"); $db->insertId() //metoda třídy vypadá takto: public function insertId() { return $this->mysqli->insert_id; } problém je, že se mi při druhém INSERTu do db neuloží hodnota, která by měla byt pod $db->insertId() ale 0. Čím to je? Napadlo mě že insert_id u multi_query nefunguje. Pokud to je pravda, tak jak se dá obejit? |
||
djlj Profil |
#2 · Zasláno: 25. 12. 2007, 14:37:16
LAST_INSERT_ID(). A v tomhle případě bych spíš použil proceduru.
|
||
Časová prodleva: 16 let
|
0