Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] dodawanie danych i mysql_insert_id()
Morthi
post 13.08.2010, 21:56:29
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.08.2010

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


Witam, stworzyłem prosty skrypt, który niestety musi wysyłać dane do dwóch różnych tabel.

Dane do pierwszej tabeli przesyła i działa, jest wszystko dobrze, natomiast do drugiej nie przechodzi `id`z pierwszej.

Możecie mi powiedzieć, co jest źle w tym kodzie? winksmiley.jpg

Generalnie problem leży w tym, że mysql_insert_id() zwraca wartość 0

  1. <?php
  2. if(isset($_POST["new"])) {
  3. //zmienne
  4. $nickname=$_POST['nickname'];
  5. $password=$_POST['password'];
  6.  
  7. //sprawdzanie czy wszystko wpisane
  8. if (!$nickname || !$password) {
  9. echo '<center>Wystapil blad. Rezerwacja nie dodana<br><b>Powod:</b>Nie podano wszystkich danych</center>';
  10. }
  11.  
  12. //laczenie sie z mysql
  13. mysql_connect('host','user','haslo')
  14. or die('<center>Wystapil blad. Rezerwacja nie dodana<br><b>Powod:</b> Brak polaczenia z baza MySQL.</center>');
  15. mysql_select_db('bazadanych');
  16.  
  17. //dodanie rezerwacji
  18. $zapytanie = "INSERT INTO `tabela1` (`username`,`password`,`access`,`flags`,`steamid`,`nickname`,`ashow`,`create
    d`,`expired`,`days`) VALUES
  19. ('','".$password."','z','a','".$nickname."','".$nickname."','0',UNIX_TIMESTAMP(),'0','0')";
  20.  
  21. $wynik = mysql_query($zapytanie)
  22. or die (mysql_error());
  23.  
  24. $adminid = mysql_insert_id();
  25.  
  26. $zapytanie2 = "INSERT INTO `tabela2` (`admin_id`,`server_id`,`custom_flags`,`use_static_bantime`) VALUES
  27. ('".$admin_id."','1','','no'),
  28. ('".$admin_id."','2','','no'),
  29. ('".$admin_id."','3','','no'),
  30. ('".$admin_id."','4','','no'),
  31. ('".$admin_id."','5','','no'),
  32. ('".$admin_id."','6','','no'),
  33. ('".$admin_id."','7','','no'),
  34. ('".$admin_id."','8','','no')";
  35.  
  36.  
  37.  
  38.  
  39. $wynik2 = mysql_query($zapytanie2)
  40. or die (mysql_error());
  41.  
  42. if ($wynik || $wynik2) {
  43. echo '<center>Rezerwacja dodana.<br>Aby wejsc na serwer wpisz:<br><b>setinfo _pw "'.$password.'"</b><br>Dziekujemy, Administracja CS-Warownia.pl</center>';
  44. } else {
  45. echo '<center>Wystapil blad. Rezerwacja nie dodana<br><b>Powod:</b> Dane nie zostaly poprawnie dodane do bazy MySQL</center>';
  46. }
  47.  
  48.  
  49. }
  50. ?>


Ten post edytował Morthi 13.08.2010, 22:09:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
k0nrad
post 13.08.2010, 22:35:33
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 1
Dołączył: 1.09.2005
Skąd: Kraków

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


Literówka w linicje 25, zamiast:
  1. $adminid = mysql_insert_id();

powinno być
  1. $admin_id = mysql_insert_id();

Jako, że później używasz zmiennej $admin_id.

pzdr


Go to the top of the page
+Quote Post
Morthi
post 13.08.2010, 22:48:35
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.08.2010

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


aż mi wstyd, że tego niezauważyłem.

nie ma to jak świeże spojrzenie . Bardzo dziękuję smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:17