Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem
Forum PHP.pl > Forum > PHP
qwake
Witam,
mam problem z zapytaniem - nie wiem ja je sprecyzować!
mam tabele w mysql i próbuje zrobić formularz, w którym dane zastępują dane oto przykład
moja tabela czytelnicy:
Nazwisko|Imię|Ulica|Miasto

formularz na stronie:
nazwisko-...|nowe nazwisko-...
imie-...|nowe imie-...
Ulica-...|nowa ulica-...
miasto-|nowe miasto-...

chcę aby po wpisaniu nazwiska,imienia,ulicy,miasta zastąpić dane w bazie na nowe nazwisko itp
starałem się zrobić zapytanie -
  1. $zapytanie = "update czytelnicy set nazwisko = ('".$nnazwisko."'), imie = ('".$nimie."'), ulica = ('".$nulica."'), miasto = ('".$nmiasto."') where nazwisko = ('".$nazwisko."'), imie = ('".$imie."'), ulica = ('".$ulica."'), miasto = ('".$miasto."')";

ale nie daje rady tego wykonac
prosze o pomoc, wrzucam także pełny kod

Kod
<html>
   <head>
     <title>Biblioteka Wiejska</title>
   </head>
   <body>
   <h1>Biblioteka Wiejska</h1>
   <h2>Menu</h2>
   <h3>Edycja czytelnika</h3>
  
  
   <?php
     // utworzenie krótkich anzw zmiennych
     $nazwisko=$_POST['nazwisko'];
     $imie=$_POST['imie'];
     $ulica=$_POST['ulica'];
     $miasto=$_POST['miasto'];
     $nnazwisko=$_POST['nnazwisko'];
     $nimie=$_POST['nimie'];
     $nulica=$_POST['nulica'];
     $nmiasto=$_POST['nmiasto'];
  
     if (!$nazwisko || !$imie || !$ulica || !$miasto|| !$nnazwisko || !$nimie || !$nulica || !$nmiasto)
     {
        echo 'Nie podano wszystkich potrzebnych danych.
   '
             .'Wróć do poprzedniej strony i spróbuj ponownie.';
            
        exit;
     }
  
     if (!get_magic_quotes_gpc())
     {  
       $nazwisko = addslashes($nazwisko);
       $imie = addslashes($imie);
       $ulica = addslashes($ulica);
       $miasto = addslashes($miasto);
       $nnazwisko = addslashes($nnazwisko);
       $nimie = addslashes($nimie);
       $nulica = addslashes($nulica);
       $nmiasto = addslashes($nmiasto);
     }
    
  
     @ $db = new mysqli('localhost', 'root', 'vertrigo', 'biblioteka');
  
     if (mysqli_connect_errno())
     {
        echo 'Bł±d: : Poł±czenie z baz± danych nie powiodło się. Spróbuj jeszcze raz póĽniej.';
        exit;
        
     }
  
    $zapytanie = "update czytelnicy set nazwisko = ('".$nnazwisko."'), imie = ('".$nimie."'), ulica = ('".$nulica."'), miasto = ('".$nmiasto."') where nazwisko = ('".$nazwisko."'), imie = ('".$imie."'), ulica = ('".$ulica."'), miasto = ('".$miasto."')";
  
    
     $wynik = $db->query($zapytanie);
     if ($wynik)
         echo  $db->affected_rows.' Zmieniono dane czytelnika.';
        
   ?>
  
         <a href="http://localhost/nazwakonta/index.html">Powroc do Menu</a>
  
  
  
   </form>
  
   </body>
   </html>


Może ktoś mi pomoże użyć zapytania w inny sposób np insert a później delete.
proszę o szybką odp
l3l0
  1. <html>
  2. <head>
  3. <title>Biblioteka Wiejska</title>
  4. </head>
  5. <body>
  6. <h1>Biblioteka Wiejska</h1>
  7. <h2>Menu</h2>
  8. <h3>Edycja czytelnika</h3>
  9.  
  10. <?php
  11. // utworzenie krótkich anzw zmiennych
  12. $nazwisko = $_POST['nazwisko'];
  13. $imie = $_POST['imie'];
  14. $ulica = $_POST['ulica'];
  15. $miasto = $_POST['miasto'];
  16. $nnazwisko = $_POST['nnazwisko'];
  17. $nimie = $_POST['nimie'];
  18. $nulica = $_POST['nulica'];
  19. $nmiasto = $_POST['nmiasto'];
  20.  
  21. if (!$nazwisko || !$imie || !$ulica || !$miasto|| !$nnazwisko || !$nimie || !$nulica || !$nmiasto)
  22. {
  23. echo 'Nie podano wszystkich potrzebnych danych.
  24. '
  25. .'Wróć do poprzedniej strony i spróbuj ponownie.';
  26.  
  27. }
  28.  
  29. {
  30. $nazwisko = addslashes($nazwisko);
  31. $imie = addslashes($imie);
  32. $ulica = addslashes($ulica);
  33. $miasto = addslashes($miasto);
  34. $nnazwisko = addslashes($nnazwisko);
  35. $nimie = addslashes($nimie);
  36. $nulica = addslashes($nulica);
  37. $nmiasto = addslashes($nmiasto);
  38. }
  39.  
  40.  
  41. @ $db = new mysqli('localhost', 'root', 'vertrigo', 'biblioteka');
  42.  
  43. if (mysqli_connect_errno())
  44. {
  45. echo 'Błąd: : Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz póĽniej.';
  46.  
  47. }
  48.  
  49. $zapytanie = 'UPDATE czytelinicy SET naziwisko = ?, imie = ?, ulica = ?, miasto = ?
  50. WHERE nazwisko = ? AND imie = ? AND ulica = ? AND miasto = ?';
  51.  
  52. $stmt = $db->prepare($zapytanie);
  53. $stmt->bind_param('ssssssss', $nnazwisko, $nimie, $nulica, $nmiasto, $nazwisko, $imie, $ulica, $miasto);
  54. $stmt->execute();
  55. $wynik = $stmt->affected_rows
  56.  
  57. if ($wynik)
  58. echo $wynik . ' Zmieniono dane czytelnika.';
  59.  
  60. ?>
  61.  
  62. <a href="http://localhost/nazwakonta/index.html">Powroc do Menu</a>
  63.  
  64.  
  65.  
  66. </form>
  67.  
  68. </body>
  69. </html>


Witam,

Skoro używasz mysqli możesz używać jego metod które są dosyć przydatne.

Ogólnie przebudował bym ten skrypt tak abyś mógł używać do aktualizacji danych użytkownika jakiegos unikalnego id.
Zastanowił bym się też czy warto pisać takie rzeczy od początku... czy nie lepiej użyć gotowych rozwiązań (CMS-y lub frameworki) i ewentualnie je dopasować do swoich potrzeb...
Napewno było by to bezpieczniejsze i bardziej przemyślane.

Pozdrawiam
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.