Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Zapytania do bazy danych
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Witam wszystkich.
Mógłby mi ktoś powiedzieć dlaczego te zapytania nie grają ze sobą?

  1. $zapytanie = "INSERT INTO `portfolio` (`nazwa`, `tresc`, `adres_strony`, `technologia`, `data_wykonania`, `obrazek`, `adres`) VALUES ('".$nazwa."', '".$tresc."', '".$adres_strony."', '".$technologia."', '".$data_wykonania."', 'portfolia/".$plik_nazwa."', '/portfolio')";
  2. $idzapytania = mysql_query($zapytanie);
  3. $zapytanie2 = "SELECT LAST_INSERT_ID()";
  4. $idzapytania2 = mysql_query($zapytanie2);
  5. while ($wiersz = mysql_fetch_array($idzapytania2))
  6. {
  7. $wiersz['id'];
  8. }
  9. $zapytanie3 = 'UPDATE `portfolio` SET `numer`= "'.$wiersz['id'].'" `id`="'.$wiersz['id'].'"';
  10. $idzapytania3 = mysql_query($zapytanie3);


Działa tylko pierwsze. $zapytanie2 nie pobiera ostatnio dodanego rekordu co za tym idzie $zapytanie3 nie zostanie wykonane.
Proszę o pomoc.
Z góry dziękuje (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Blame
post
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


Bo pole nie nazywa się id tylko last_insert_id(), czyli powinno być $wiersz['last_insert_id()'].
Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


  1. $zapytanie2 = "SELECT LAST_INSERT_ID()";
  2. $idzapytania2 = mysql_query($zapytanie2);
  3. while ($wiersz = mysql_fetch_array($idzapytania2))
  4. {
  5. $wiersz['id'];
  6. }


Cały ten kawałek kodu możesz zastąpić:

  1. $last_insert_id = mysql_insert_id();


Szybciej, krócej, łatwiej i przyjemniej.

Ten post edytował pyro 6.02.2010, 22:05:47
Go to the top of the page
+Quote Post
adrianozo
post
Post #4





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


  1. $zapytanie = "INSERT INTO `portfolio` (`nazwa`, `tresc`, `adres_strony`, `technologia`, `data_wykonania`, `obrazek`, `adres`) VALUES ('".$nazwa."', '".$tresc."', '".$adres_strony."', '".$technologia."', '".$data_wykonania."', 'portfolia/".$plik_nazwa."', '/portfolio')";
  2. $idzapytania = mysql_query($zapytanie);
  3. $zapytanie2 = "SELECT LAST_INSERT_ID()";
  4. $idzapytania2 = mysql_query($zapytanie2);
  5. while ($wiersz = mysql_fetch_array($idzapytania2))
  6. {
  7. $wiersz['last_insert_id()'];
  8. }
  9. $zapytanie3 = 'UPDATE `portfolio` SET `numer`= "'.$wiersz['last_insert_id()'].'" `id`="'.$wiersz['last_insert_id()'].'"';
  10. $idzapytania3 = mysql_query($zapytanie3);


Nadal to samo (IMG:style_emoticons/default/sad.gif)

Cytat(pyro @ 6.02.2010, 21:58:53 ) *
  1. $zapytanie2 = "SELECT LAST_INSERT_ID()";
  2. $idzapytania2 = mysql_query($zapytanie2);
  3. while ($wiersz = mysql_fetch_array($idzapytania2))
  4. {
  5. $wiersz['id'];
  6. }


Cały ten kawałek kodu możesz zastąpić:

  1. $last_insert_id = mysql_last_insert_id();


Szybciej, krócej, łatwiej i przyjemniej.


No tak nie za bardzo:

Kod
Fatal error: Call to undefined function: mysql_last_insert_id() in /a/b/c/d/dodaj_do_portfolio.php on line 52
Go to the top of the page
+Quote Post
pyro
post
Post #5





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Przeczytaj co napisałem. Poza tym skrypt nie zadziała bo w 3 zapytaniu brakuje przecinka między kolumnami.

// edit

Mała pomyłka. powinno być mysql_insert_id(); bez `last`.

Ten post edytował pyro 6.02.2010, 22:06:43
Go to the top of the page
+Quote Post
adrianozo
post
Post #6





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Dzięki wielkie (IMG:style_emoticons/default/smile.gif)
POMÓGŁ LECĄ (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 02:05