Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zwracanie id utworzonego rekordu.
Salur
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

Ostrzeżenie: (20%)
X----


Witam, jak mogę zwrócić id utworzonego rekordu? Skrypt tworzy klan i zapisuje go do tabeli klan a nastepnie chce zaktualizowac w kolumnie clan_id w tabeli player własnie to id stworzonego klanu. Co robię źle?

PS: Czy mogę te zapytania dodatkowo zoptymalizowac?

  1. // sprawdzanie czy klan istnieje/
  2.  
  3. $x = $db->select_single('SELECT * FROM klan WHERE name = '.$_POST['nameKlan'].'');
  4.  
  5. if($x > 0){
  6.  
  7. echo 'Klan z taką nazwą już istnieje!';
  8.  
  9. } else {
  10.  
  11. // dodanie klanu do bazy //
  12. $db->query("INSERT INTO klan (name,owner_id,osob,skarbiec,skarbiec_gold,punkty) VALUES ('$nameKlan','".$player['id']."', '1', '0','10','0')");
  13.  
  14.  
  15. // zabranie uzytkownikowi kasy za załozenie klanu//
  16. $db->query("UPDATE player SET gold = (gold - 1000) WHERE id = '".$player['id']."'");
  17.  
  18.  
  19. !!// i teraz TU muszę dodac to id które jest w nowo stworzonym klanie//!!
  20.  
  21. $db->query("UPDATE player SET clan_id = 'idNowegoKlanu' WHERE id = '".$player['id']."'");
  22.  
  23. echo 'Założyłeś klan o nazwie: <b>'.$nameKlan.'</b>
  24.  
  25. }
  26.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Salur
post
Post #2





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

Ostrzeżenie: (20%)
X----


Viking

Jest to mysqli.

W jaki sposób mogę połączyć te zapytania w jedno? Mógłbym prosić cię abyś pokazał, bo nie wiem jak połaczyć update, insert itp w jedno zapytanie.

Oto cały kod:

  1. if(!empty($nameKlan)){
  2.  
  3. if($player['gold'] >= 1000 and $player['level'] >= 15){
  4.  
  5. $x = $db->select_single('SELECT * FROM klan WHERE name = "'.$nameKlan.'"');
  6.  
  7. if($x > 0){
  8.  
  9. echo 'Klan z taką nazwą już istnieje!';
  10.  
  11. } else {
  12.  
  13. $newClan = $db->query("INSERT INTO klan (name,owner_id,osob,skarbiec,skarbiec_gold,punkty) VALUES ('$nameKlan','".$player['id']."', '1', '0','10','0')");
  14.  
  15. $idClan = $db->select_single('SELECT * FROM klan WHERE name = "'.$nameKlan.'"');
  16.  
  17. if(empty($newClan)){
  18.  
  19. $db->query("UPDATE player SET gold = (gold - 1000) WHERE id = '".$player['id']."'");
  20.  
  21. $db->query("UPDATE player SET clan_id = '".$idClan['id']."' WHERE id = '".$player['id']."'");
  22.  
  23. echo 'Założyłeś klan o nazwie: <b>'.$nameKlan.'</b>
  24. <br>Aby wejść do klanu kliknij: <a href="?s=klan">KLAN</a>';
  25. }
  26.  
  27. }
  28.  
  29. } else {
  30.  
  31. echo 'Posiadasz za mało złota lub masz za niski poziom.';
  32.  
  33. }
  34.  
  35. }
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 10:46