Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Brak aktualizacji bazy danych
Humcio
post 18.09.2014, 18:32:40
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.09.2014

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


Witam
Mam następujący problem. Napisałem skrypt do zarządzania prostą bazą danych. Wyświetlanie danych, usuwanie i dodawanie działa bez problemów, ale edycja już nie działa. Szczerze mówiąc nie ma pojęcia co jest źle napisane.

  1. <?php
  2. $username="root";
  3. $password="haslo";
  4. $host="localhost";
  5. $dbname="test_sys_log";
  6.  
  7. $options= array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
  8.  
  9. try
  10. {
  11. $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
  12. // echo 'Połączenie nawiązane';
  13. }
  14. catch (PDOException $ex)
  15. {
  16. die('Nie nawiązano połączenia: ' . $ex->getMessage());
  17. }
  18.  
  19.  
  20. //Mquotes
  21. IF(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
  22. {
  23. FUNCTION undo_magic_quotes_gpc(&$array)
  24. {
  25. foreach($array AS &$value)
  26. {
  27. IF(is_array($value))
  28. {
  29. undo_magic_quotes_gpc($value);
  30. }
  31. else
  32. {
  33. $value = stripslashes($value);
  34. }
  35. }
  36. }
  37.  
  38. undo_magic_quotes_gpc($_POST);
  39. undo_magic_quotes_gpc($_GET);
  40. undo_magic_quotes_gpc($_COOKIE);
  41. }
  42. ?>

  1. <?php
  2. require ('common.php');
  3.  
  4. $query="SELECT animal_id, animal_name, animal_owner FROM animal";
  5. try{
  6. $stmt=$db->prepare($query);
  7. $stmt->execute();
  8. }
  9. catch (PDOException $ex)
  10. {
  11. die('Nie nawiązano połączenia: ' . $ex->getMessage());
  12. }
  13. ?>
  14.  
  15. <html>
  16. <head>
  17. <title>Zobacz rekordy</title>
  18. </head>
  19. <body>
  20.  
  21. <h1>Wyświetl rekordy</h1>
  22. <p> <a href="animal_add.php">Dodaj zwierze</a></p>
  23.  
  24. <table border="1">
  25. <tr>
  26. <th>ID</th>
  27. <th>Animal</th>
  28. <th>Owner</th>
  29. <th></th>
  30. <th></th>
  31. </tr>
  32. <?php
  33. while($row=$stmt->fetch())
  34. {
  35. echo "<tr>";
  36. echo '<td>'.$row['animal_id'].'</td>';
  37. echo '<td>'.$row['animal_name'].'</td>';
  38. echo '<td>'.$row['animal_owner'].'</td>';
  39. echo '<td><a href="animal_edit.php?animal_id=' .$row['animal_id']. '">Edytuj</a> </td>';
  40. echo '<td><a href="animal_delete.php?animal_id=' .$row['animal_id']. '">Usuń</a> </td>';
  41. echo "</tr>";
  42. }
  43. $stmt->closeCursor();
  44. ?>
  45. </table>
  46.  
  47.  
  48. </body>
  49. </html>

  1. <?php
  2. require ('common.php');
  3.  
  4. $query = "
  5. INSERT INTO animal (
  6. animal_name,
  7. animal_owner
  8. ) VALUES (
  9. :animal_name,
  10. :animal_owner
  11. )
  12. ";
  13.  
  14. $query_parameters= array(
  15. ':animal_name'=>$_POST['animal_name'],
  16. ':animal_owner'=>$_POST['animal_owner']
  17. );
  18.  
  19. try
  20. {
  21. $stmt=$db->prepare($query);
  22. $result=$stmt->execute($query_parameters);
  23. }
  24. catch (PDOException $ex)
  25. {
  26. die('Nie nawiązano połączenia: ' . $ex->getMessage());
  27. }
  28.  
  29.  
  30.  
  31. ?>
  32.  
  33. <html>
  34. <head>
  35. <title>Dodaj rekord</title>
  36. </head>
  37. <body>
  38.  
  39. <h1>Dodaj zwierze</h1>
  40. <form action="animal_add.php" method="post">
  41. Nazwa zwierzęcia:<br/>
  42. <input type="text" name="animal_name" value=""/>
  43. <br/>
  44. Właściciel:<br/>
  45. <input type="text" name="animal_owner" value=""/>
  46. <br/>
  47. <input type="submit" value="Dodaj"/>
  48. </form>
  49.  
  50.  
  51. </body>
  52. </html>

  1. <?php
  2. require ('common.php');
  3.  
  4. $id=$_GET['animal_id'];
  5. // Sprawdz
  6. echo 'Numer id: '.$id;
  7.  
  8. $query="DELETE FROM animal WHERE animal_id=$id";
  9.  
  10. try
  11. {
  12. $stmt=$db->prepare($query);
  13. $stmt->execute();
  14. }
  15. catch (PDOException $ex)
  16. {
  17. die('Nie nawiązano połączenia: ' . $ex->getMessage());
  18. }
  19.  
  20. echo $ex;
  21.  
  22. header("Location: view.php");
  23.  
  24.  
  25.  
  26.  
  27. ?>
  28.  


  1. <?php
  2. require ('common.php');
  3.  
  4. $id=$_GET['animal_id'];
  5.  
  6. //Sprawdz
  7. //echo $id;
  8.  
  9. $query="SELECT * FROM animal WHERE animal_id=$id";
  10.  
  11. try
  12. {
  13. $stmt=$db->prepare($query);
  14. $stmt->bindParam(':animal_id', $id);
  15. $stmt->execute();
  16. }
  17. catch(PDOException $ex)
  18. {
  19.  
  20. die('Nie nawiązano połączenia: ' . $ex->getMessage());
  21. }
  22.  
  23. ?>
  24.  
  25.  
  26. <html>
  27. <head>
  28. <title>Edycja rekordów</title>
  29. </head>
  30. <body>
  31.  
  32. <?php
  33. for ($i=0; $row=$stmt->fetch(); $i++)
  34. {
  35. ?>
  36. <form action="animal_edit_script.php" method="post">
  37. <input type="hidden" name="animal_id" value="<?php echo $animal_id; ?>" />
  38. Nazwa<br/>
  39. <input type="text" name="animal_name" value="<?php echo $row['animal_name']; ?>" /><br>
  40. Właściciel<br/>
  41. <input type="text" name="animal_owner" value="<?php echo $row['animal_owner']; ?>" /><br>
  42. <input type="submit" value="Zapisz" />
  43.  
  44. </form>
  45. <?php
  46. }
  47. ?>
  48. </body>
  49. </html>


  1. <?php
  2. require ('common.php');
  3.  
  4. $animal_id=$_POST['animal_id'];
  5. $animal_name=$_POST['animal_name'];
  6. $animal_owner=$_POST['animal_owner'];
  7.  
  8. $query="UPDATE animal
  9. SET animal_name=:animal_name, animal_owner=:animal_owner
  10. WHERE animal_id=:animal_id
  11. ";
  12. try
  13. {
  14. $stmt=$db->prepare($query);
  15. $stmt->bindParam('animal_name',$animal_name);
  16. $stmt->bindParam('animal_owner',$animal_owner);
  17. $stmt->bindParam('animal_id',$animal_id);
  18. $stmt->execute();
  19. }
  20. catch(PDOException $ex)
  21. {
  22.  
  23. die('Nie nawiązano połączenia: ' . $ex->getMessage());
  24. }
  25.  
  26. header("Location: view.php");
  27.  
  28. ?>
  29.  


W tym ostatnim kodzie pewnie "coś" jest źle, po paru godzinach prób udało mi się tylko za pomocą skryptu edycji czyścić dane z rekordów, chociaż sam nie wiem jak... .
Gdyby ktoś mógł mi z tym pomóc będę naprawdę wdzięczny.

Ten post edytował Humcio 18.09.2014, 18:34:21
Go to the top of the page
+Quote Post
nospor
post 18.09.2014, 18:42:22
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




<input type="hidden" name="animal_id" value="<?php echo $animal_id; ?>" />
Nigdzie nie widze zmiennej $animal_id....

Takie bledy bys mial pokazane od razu na ekranie, jakbys wlaczyl wyswietlanie bledow. TU masz napisane jak
Temat: Jak poprawnie zada pytanie
zastosuj sie tez do innych bardzo PRZYDATNYCH wskazowek tam podanych


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Humcio
post 18.09.2014, 18:47:51
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.09.2014

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


Wszystko już działa.
Jak pomyślę ile czasu przy tym straciłem...
Dzięki za pomoc i zabieram się za lekturę podanego tematu. Muszę włączyć wyświetlanie błedów, bo inaczej ciemno widzę moją dalszą naukę.
Go to the top of the page
+Quote Post
nospor
post 18.09.2014, 18:50:49
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Muszę włączyć wyświetlanie błedów, bo inaczej ciemno widzę moją dalszą naukę.
Jak rownież sprawdzanie danych, na ktorych sie operuje. Jakbys zrobil
print_r($_POST);
to tez bys od razu widzial ze nie idzie ID.
Te i inne wskazowki zawarte są w temacie co podalem. Skoro bierzesz sie za jego czytanie, zycze w takim razie milej i przyswajalnej lektury smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 15.07.2025 - 05:15