Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zwracanie zmienionych wierszy
Forum PHP.pl > Forum > PHP
netsprint
Witam, próbuje wyświetlić wiersze, które zostały zmienione podczas użycia funkcji np. update, insert lub delete. Niestety nie wiem jak zwrócić odpowienio zapytanie... wewnątrz else if($check === 0)

  1. ...
  2.  
  3. function execute($execute)
  4. {
  5. function do_alert($msg)
  6. {
  7. echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
  8. }
  9. $execute = strtolower($execute);
  10. $tab = array("update","delete","insert");
  11. foreach( $tab as $tab2) {
  12. $check = strpos($execute, $tab2);
  13. $res;
  14. if($tab2 == "insert" && $check == null){
  15. do_alert('Comand update,delete,insert is on the bad position or you use before comand some white spaces');
  16. //throw new Exception( pg_last_error( $this->connection ) );
  17. return false;
  18. }
  19. else if($tab == "insert" && $check === FALSE && $check !=1)
  20. {
  21. echo $check;
  22. do_alert('Comand update, delete or insert is not found');
  23. //throw new Exception( pg_last_error( $this->connection ) );
  24. return false;
  25.  
  26. }
  27. else if($check === 0)
  28. {
  29. $res=pg_query( $this->connection, $execute );
  30.  
  31. if ( !is_resource( $res ) ) throw new Exception( pg_last_error( $this->connection ) );
  32. echo $res;
  33. return new Resource( $res );
  34.  
  35. // return Resource->fetch();
  36. break;
  37. }
  38.  
  39.  
  40.  
  41. }
  42. }...



  1. class Resource
  2. {
  3. private $resource;
  4.  
  5. function __construct( $res )
  6. {
  7. $this->resource=$res;
  8. }
  9.  
  10. function fetch()
  11. {
  12. return pg_fetch_assoc( $this->resource );
  13. }
  14.  
  15. function __destruct()
  16. {
  17. pg_free_result( $this->resource );
  18. }
  19. }




  1. $db=new Database();
  2. $result=$db->execute( "update użytkownicy SET nick='haker' WHERE nick='maker'" );
  3.  
  4.  
  5.  
  6.  
  7. if ($result) {
  8. while ( $row = $result->fetch())
  9. {
  10. echo "<tr>";
  11. foreach ( $row as $col ) echo "<td>$col</td>";
  12. echo "</tr>";
  13. }
  14. }
  15. $db=null;
nospor
Problem z OOP ma raczej mały związek, by nie powiedzieć że żaden.... przenosze

ps: przeciez UPDATE nie zwraca zmienionych wierwszy i nie mozesz sobie tego FETCHowac..... chcesz FETCHowac to musisz uzyc SELECT
netsprint
Gdy dodam taką liniję to w zasadzie na jedno i to samo wychodzi... Ponownie nie wyświetla się wynik... W jaki sposób można by to rozwiązać poprawnie... Tzn. jak uzyskać tą zmiane dla update...

  1. $res= pg_query("select * from użytkownicy where nick= '{$res}'");
nospor
nick= '{$res}'"
Przeciez tam masz przekazac NICK jakiego szukasz, a nie jakis rezultat czegos :/
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.