Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z insert_id
Forum PHP.pl > Forum > Bazy danych > MySQL
bobens_83
Witam.

Mam 2 tabele: news i img, oraz skrypt:

  1. <?php
  2. $db = new mysqli( 'localhost', $user, $pass, 'feniks' );
  3. $q1 = "insert into news( autor_news, user_news, tytul_news, tresc_news, data_news) values( '".$autor_news."', '".$user."', '".$tytul_news."', '".$tresc_news."', NOW())";
  4. $db->query($q1);
  5. $q2 = "insert into img( id_news ) values( '".$db->insert_id."' )";
  6. $db->query($q2);
  7. $db->close();
  8. ?>


Skrypt nie dodaje nic do tabeli img ( sa w niej dla uproszczenia jedynie 2 pola: id_img ->primary oraz id_news).

Natomiast jesli dla sprawdzenia mechanizmu napisze osobny prosty skrypt:
  1. <?php
  2. $db = new mysqli( 'localhost', 'root', '', 'feniks' );
  3. $q = "INSERT INTO img( id_news ) values( '10' )";
  4. $db->query($q);
  5. $db->close();
  6. ?>
to dodaje wartosc bez problemu. Dziwna sytuacja blink.gif Czym moze byc spowodowana? Pozdrawiam.


PS. Zamieniam "$db->insert_id" na jakas kakretna wartosc i tez nie dodaje worriedsmiley.gif Pozatym wartosc "$db->insert_id" na pewno istnieje, bo po zrobieniu echo sie pokazuje
ArturS
Może problem tkwi w tym jak przekazujesz zmienne do zapytania? Sprawdź czy nie zadziała dając zmienne w same apostrofy
  1. <?php
  2. values( '$autor_news', '$user', '$tytul_news', '$tresc_news', NOW())";
  3. ?>

Daj znać czy to to :-)
bobens_83
Nie nie, z zapytaniem $q1 jest wszystko OK, wykonuje sie bez problemu. Tylko chodzi o zapytanie $q2. Nie dodaje ono wartosci $db->insert_id, ani zadnej innej (z apostrofami czy bez). To dziwne, powinno smigac blink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.