Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[PHP][SQL] Problem z dodaniem rekordu do bazy w php

Atheo 11 Feb 2008 17:26 2141 2
  • #1
    Atheo
    Level 11  
    witam.. mam taki problem otóż mam formularz, wpisuję do niego dane i nie mogę tego zapisac do bazy po kliknięciu na dodaj...
    proszę o pomoc w czym jest błąd...

    oto mój kod:

    <?
    include_once('baza.php');
    $db=new db();
    
    function dodaj_rekord($table, $data=array())
    {
    $result = pg_query($this->conn, "INSERT INTO ".$table." (nazwisko, imie, grupa, indeks, data_ur) VALUES ('".$_POST['nazwisko']."' ,'".$_POST['imie']."' ,'".$_POST['grupa']."','".$_POST['indeks']."','".$_POST['data_ur']."')");
    }
    
    
    $nazwisko = $_POST['nazwisko'];
    $imie = $_POST['imie'];
    $imie = $_POST['grupa'];
    $imie = $_POST['indeks'];
    $imie = $_POST['data_ur'];
    $key = $_POST['ad'];
    $table="STUDENCI";
    
    
    $zb=new db();
    
    $zb->dodaj_rekord($table, $data=array());
    
    
    ?>



    natomiast baza.php wygląda tak...
    
    <?php
    class db
    {
    private $db;
    private $res;
    public function __construct()
    {
    $this->db=pg_connect("host =xxxx port=xxxx user=xxxx password=xxxx dbname=xxx");
    
    if (!$this->db)  
      {echo "Brak połączenia z bazą"; die();}
    }
    public function zp($sql)
    { $this->res=pg_query($this->db,$sql);
    return $this->res;}
    public function wiersz() 
    {return pg_fetch_assoc($this->res);}
    public function il_wier() 
    {return pg_num_rows($this->res);}
    }
    
    ?>
  • #2
    dir3ctor
    Level 27  
    Ten caly kod jest strasznie zamieszany.

    1. Dlaczego funkcje dodaj_rekord wywolujesz jako zawartosc classy: "$zb->dodaj_rekord($table, $data=array());", skoro ona jest zdefiniowana osobno, a nie w classie "db" ?
    2. Nawet jak poprawisz juz wywolywanie tej funkcji to pamietaj, aby parametry przekazywane do niej byly prawidlowe. W samej funkcji dzialasz na tablicy $_POST, ale nigdzie jej nie przekazales.

    Moze na poczatek jakis prosty kurs PHP machnij ;-)
  • #3
    Atheo
    Level 11  
    witaj, no właśnie jest trochę zamieszane, sam sie trochę gubię w tym... to pomijając klasy mógłbyś kolego mi doprowadzić to da takiej postaci co by dodało mi tego studenta do bazy ??
    byłbym bardzo wdzięczny!