Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Insert u dve tabele istovremeno

[es] :: PHP :: Insert u dve tabele istovremeno

[ Pregleda: 1108 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Rodja_ki
Kikinda

Član broj: 297407
Poruke: 63
*.static.sbb.rs.



+4 Profil

icon Insert u dve tabele istovremeno15.05.2013. u 10:39 - pre 132 meseci
Pozdrav ljudi, imam problem sa insertom u dve tabele. Tacnije insert u prvoj tabeli uradi normalno, dok drugi u opste ne uradi. Iz prvog inserta treba da izvucem id, i da ubacim u drugi. Probao sam sa mysql_insert_id(), ali mi nesto ne radi, ne znam zasto...Evo koda:

Code:
public function create() {
    global $database;
    $attributes = $this->ocisceni_atributi();
    $sql = "INSERT INTO " .self::$ime_tabele. " (";
    $sql .= join(", ", array_keys($attributes)) . ") ";
    $sql .= "VALUES ('";
    $sql .= join("', '", array_values($attributes));
    $sql .= "') ";
    
    
if ($database->query($sql)) {
    $this->id = $database->insert_id();
    return true;
    $session->poruka("Uspesno je unet novi proizvod");
} else{
    $session->poruka("Nemoguce je uneti novi proizvod");
    return false;
}    
     $last_inserted_mysql_id = mysql_insert_id();
     $sql1="INSERT INTO slike (sifra_proizvoda, velika_slika, opis_slike) VALUES ('$last_inserted_mysql_id', '$this->slika', '$this->opis_slike')";
      
       $database->query($sql1);
}
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: Insert u dve tabele istovremeno15.05.2013. u 11:09 - pre 132 meseci
Šta se dešava kad staviš sql1 statement u if petlju ispod linije gdje dobiješ insert id, a prije return true izvršenja?
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
89.216.28.*



+44 Profil

icon Re: Insert u dve tabele istovremeno15.05.2013. u 12:14 - pre 132 meseci
Drugi INSERT ti ne radi jer se funkcija završava kod prvog return true;

Stavi upit pre toga (posle onog $sql).

Code:
$database->query($sql);
$last_inserted_mysql_id = $database->insert_id();
$sql1="INSERT INTO slike (sifra_proizvoda, velika_slika, opis_slike) VALUES ('$last_inserted_mysql_id', '$this->slika', '$this->opis_slike')";
$database->query($sql1);


"If" provere ukloni ili zameni sa svojim kodom za prvi i drugi INSERT, ali nakon izvrsenog upita (a ne pre).
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

Rodja_ki
Kikinda

Član broj: 297407
Poruke: 63
*.static.sbb.rs.



+4 Profil

icon Re: Insert u dve tabele istovremeno15.05.2013. u 12:48 - pre 132 meseci
Nista se ne desi, opet ne upisuje nista u tabelu...
Edit, proradilo je :) kada sam taj deo prebacio ispred returna, proradilo je :) Hvala na sugestijama!
 
Odgovor na temu

[es] :: PHP :: Insert u dve tabele istovremeno

[ Pregleda: 1108 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.