Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]update rekordu nie działa.
Glukozamina
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 27.04.2008

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


Witam mam sobie skrypt. Gdy jestem zalogowany pojawia mi sie opcja edytuj profil następnie przechodze do edytuj profil wszystko pięknie ładnie się wyświetla tam gdzie chcę lecz gdy chcę zrobic update jednej komórki nie ma żadnego błędu lecz też nic się nie dzieje. Zapytanie wziąłem z phpmyadmin dodając tam ręcznie jakąś tresc do jednego z pół a następnie przerobiłem troszke.

  1. <?php
  2.  
  3.  
  4. /*Nawiązanie połączenia z bazą*/
  5.  
  6.   if (!$db_lnk = @mysql_connect("mysql3.yoyo.pl", "db486994", "xxxxxxxxxxxx")){
  7.    echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  8.    return;
  9.   }
  10.  
  11.   if(!@mysql_select_db('db486994')){
  12.    echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  13.    @mysql_close();
  14.    return;
  15.   }
  16.  
  17.  
  18.  
  19.  
  20.  
  21. $n = $_SESSION['zalogowany'];
  22.  
  23. $query= "SELECT * FROM Users WHERE Nazwa = '$n' ";
  24.  
  25. $result = mysql_query($query, $db_lnk);
  26.  
  27. if(!$result){
  28.   echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>');
  29.   echo mysql_errno($db_lnk) . ": " . mysql_error($db_lnk) . "\n";
  30.   @mysql_close();
  31.   exit;
  32. }
  33.  
  34. $miejscowosc = $_GET['miejscowosc'];
  35.  
  36. $id = $data['Id'];
  37.  
  38. $query = "UPDATE `db486994`.`Users` SET `skad` = '$miejscowosc' WHERE `Users`.`Id` = '$id' LIMIT 1";
  39.  
  40.   if(!mysql_query($query, $db_lnk)){
  41.    echo 'Wystąpił błąd: zapytanie zostało odrzucone...<br />Zapytanie: <pre>' . $query . '</pre>Odpowiedź MySQL: <pre>' . mysql_error( $db_lnk ) . '</pre>';
  42.    @mysql_close();
  43.    return;
  44.   }
  45.  
  46. while($data = mysql_fetch_assoc($result)){
  47.  
  48. $id = $data['Id'];
  49. $gg = $data['Email'];
  50. $skad = $data['skad'];
  51.  
  52. $nick = $data['Nazwa'];
  53. }
  54. echo "$miejscowosc";
  55.  
  56. echo '<table><tr><td>Nick'.$id.'</td><td>'.$nick.'</td></tr>
  57.  
  58.   <tr><td>Gadu Gadu</td><td>'.$gg.'</td></tr>
  59.  
  60.   <tr><td>Miejscowosc</td>';
  61.  
  62. echo "  <td><form action='info/profiledit.php' method='GET'>
  63.   <input type='text' name='miejscowosc' value='$skad'></td></tr>
  64.   <tr><td><input type='submit' value='Edytuj'></form></td></tr>";
  65.  
  66. echo '</table>';
  67.  
  68. printf ("Zaktualizowanych rekordów: %d\n", mysql_affected_rows());
  69.  
  70. ?>
  71.  
  72. <?php
  73. if(!@mysql_close()){
  74.   echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<BR>');
  75. }
  76. ?>


Żadnego błędu mi nie wywala ani też skrypt nie działa. Kiedy ide do php my admin i ręcznie wpisze jakąś miejscowosc po kliknięciu edytuj kasuje mi się ona w tabeli. Proszę powiedzcie mi jak to powinenem zrobic ? Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Max Damage
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Zapytanie UPDATE nie chodzi ci ponieważ Najpierw próbujesz użyć zmiennej id
  1. <?php
  2. $id = $data['Id'];
  3. ?>

A dopiero kilka wierszy poniżej się o nią pytasz.
Funkcja mysql_num_rows zwraca liczbę wierszy w wyniku. Jest więcej niż zero więc wyświetla się napis. Mozna nie lubic manuala ale warto do niego czasem zaglądać.....
To też raczej nie zadziała tak jak chcesz :
  1. <?php
  2. echo "$miejscowosc";
  3. ?>

Powinno być tak:
  1. <?php
  2. echo $miejscowosc;
  3. ?>

Coś mi się też zdaje że w każdym pliku piszesz połączanie z bazą. Lepiej to sobie napisać w osobnym pliku jako funkcje i dołączać poprzez include. Bo jak zmienisz nagle serwer to będziesz wszędzie musiał to zmieniać.

Ten post edytował Max Damage 2.08.2008, 16:15:12
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: 10.10.2025 - 09:43