Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obiektowo zapytani
Forum PHP.pl > Forum > Przedszkole
skrobi
Witamam mam problem bo napisane zapytania przezemnie sa dobre ale wogole nie chca sie wykonac. stworzylem sobie klase :
  1. <?php
  2.  
  3. class up_zatrudnianie {
  4.  
  5. var $user_id;
  6. var $miejsce_pracy;
  7. var $id_rekordu;
  8.  
  9. function up_zatrudnianie($user,$miejsce) 
  10. {
  11. $this->db =  get_object_vars(&$db);
  12. $this->user_id = $user;
  13. $this->miejsce_pracy = $miejsce;
  14. }
  15. /** 
  16. Funkcja dodaje praconika do bazy chcacych sie zatrudnić 
  17. @return bool
  18. @name dodaj_praconika()
  19.  
  20. */
  21. function dodaj_pracownika()
  22. {
  23. $sql_query =  ("INSERT INTO `up_do_zatrudnienia` (`id_up_do_zatrudnienia`, `instytucja_up_do_zatrudnienia`, `id_user_up_do_za
    trudnienia`, `action_up_do_zatrudnienia`)
  24. VALUES ('', ".$this->miejsce_pracy.", ".$this->user_id.", '1')");
  25. //print $sql_query;
  26. $result = mysql_query($sql_query);
  27. printf ("Zaktualizowanych rekordów: %dn", mysql_affected_rows());
  28. mysql_query("COMMIT");
  29. $this->id_rekordu = mysql_insert_id();
  30.  
  31. }
  32. }
  33.  
  34. ?>

Nastepnie chce wywolac klase w taki sposob:
  1. <?php
  2.  
  3. include_once("functions/up/up_zatrudnianie.php");
  4.  
  5. $polaczenie = mysql_connect("". $CFG -> db_host ."", "". $CFG -> db_user ."", "". $CFG -> db_pass ."", "". $CFG -> db_db ."") or die("Brak połaczenia z db");
  6.  
  7. $zatrudnij = new up_zatrudnianie($_SESSION['user_id'],4,$polaczenie);
  8.  $zatrudnij -> dodaj_pracownika();
  9.  
  10. ?>

Zapytania sa poprawne a nie chca sie wykonac w czym tkwi problem ?
dtb
może daj wartości (VALUES) przy zapytaniu pomiędzy apostrofy (nazwy również)
skrobi
ale jak print wyrzuca mi to zpaytanie i w phpmyadminie je wklejam to chodzi :| wiec zapytania sa poprawne
dr_bonzo
  1. <?php
  2. class up_zatrudnianie {
  3.     
  4.     var $user_id;
  5.     var $miejsce_pracy;
  6.     var $id_rekordu;
  7.  
  8.     function up_zatrudnianie($user,$miejsce) 
  9.         {
  10.             $this->db =    get_object_vars(&$db); // gdzie jest deklaracja $this->db, i $db?questionmark.gif
  11.             $this->user_id = $user;// to samo !!!
  12.             $this->miejsce_pracy = $miejsce;// !! to samo
  13.         }
  14. ?>


  1. <?php
  2. $sql_query =     ("INSERT INTO `up_do_zatrudnienia` (`id_up_do_zatrudnienia`, `instytucja_up_do_zatrudnienia`, `id_user_up_do_za
    trudnienia`, `action_up_do_zatrudnienia`)
  3.                         VALUES ('', ".$this->miejsce_pracy.", ".$this->user_id.", '1')");
  4. ?>

Nazwy tabeli i pol podaje sie bez `` -- choc juz nie pamietam czy z nimi tez dziala.

  1. <?php
  2. $polaczenie = mysql_connect("". $CFG -> db_host ."", "". $CFG -> db_user ."", "". $CFG -> db_pass ."", "". $CFG -> db_db .""
  3. ?>

A po co te cudzyslowy??
  1. <?php
  2. mysql_connect( $CFG->db_host , ...);
  3. ?>


Przekazuj resource polaczenia z baza. Laczysz sie poza obiektem, uzywasz metody obiektu do zadania zapytania bez podania polaczenia, na ktorym ma byc wykonane.
  1. <?php
  2. $conn = mysql_connect()
  3. $res = mysql_query( '.....', $conn );
  4.  
  5. ?>


RTFM: musql_connect ([string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )
nie ma tam parametru baza
Dodatkowo nie wybrales bazy danych.
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.