Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wstawianie rekordów do bazy w PHP/MySQL/Postgres i porawa tabeli
Forum PHP.pl > Forum > Przedszkole
Ryest
Witam!

Chcę zrobić aplikację, która wstawia mi rekordy do bazy danych.

Samochody.php to plik gdzie mam nr, marke, model itd i tutaj chce powstawiać kolejne dane. Baza danych znajduje sie na szkolnym serwerze i niestety nie wiem czy zrobić od nowa cały plik czy też jest możliwośc szbkiego zmodyfikowania pliku samochody.php

  1. <?php
  2.  
  3. include_once ('baza.php');
  4. $db=new db();
  5. $db->zp("SELECT nr_s, marka, typ FROM SAMOCHODY");
  6. echo"<TABLE><TR><TH>marka</TH><TH>typ</TH></TR>\n";
  7. while($wiersz=$db->wiersz())
  8. {
  9. echo"<TR><TD><A href=\"samochod.php?id="
  10. .$wiersz['nr_s'].' ">'
  11. .$wiersz['marka']."</A></TD><TD>"
  12. .$wiersz['typ']."</TD></TR>\n";
  13. }
  14. echo"</TABLE>";
  15. echo"w bazie jest".$db->il_wier()." wierszy";
  16.  
  17.  
  18. ?>


abym mógł wstawiać dane

a tutaj mam plik samochody2 gdzie wybrałem większość z tablicy z tym że całkiem mam to pomieszane np; pod typem są marki itp i mam pytani czy mógłby ktos to poprawić bo ja juz sie pogubiłem a starłem się robić analogicznie do w/w
  1. <?php
  2.  
  3. include_once ('baza.php');
  4. $db=new db();
  5. $db->zp("SELECT nr_s, marka, typ, rok, kolor, pojemnosc, przebieg FROM SAMOCHODY");
  6.  
  7. echo"<TABLE><TR><TH>marka<TH><TH>typ<TH><TR>rok<TH><TH>kolor<TH><TH>pojemnosc<TH><TH>przebieg</TH></TR>\n";
  8. while($wiersz=$db->wiersz())
  9. {
  10. echo"<TR><TD><A href=\"samochod.php?id="
  11. .$wiersz['nr_s'].' ">'
  12. .$wiersz['typ']."</A></TD><TD>"
  13. .$wiersz['rok']."</A></TD><TD>"
  14. .$wiersz['kolor']."</A></TD><TD>"
  15. .$wiersz['pojemnosc']."</A></TD><TD>"
  16. .$wiersz['marka']."</A></TD><TD>"
  17. .$wiersz['przebieg']."<TD><TR>\n";
  18.  
  19. }
  20. echo"</TABLE>";
  21.  
  22. echo"w bazie jest".$db->il_wier()." wierszy";
  23.  
  24. ?>


Spróbowałem zrobić Inserta do mojej tabeli samochody
  1. <?php
  2. mysql_connect('gandalf.mac.edu.pl', 'ryest', 'hasło') or
  3. die('Nie można się połączyć');
  4. mysql_select_db('baza.php');
  5.  
  6. mysql_query("INSERT INTO samochody (`nr_s`, `marka`, `typ`, `kolor` ) VALUES ('', 'HONDA', 'CIVIC', 'wisniowy')");
  7. printf ("Ostatnio dodany rekord ma id %d\n", mysql_insert_id());
  8. ?>


i niestety nie łączy mi

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in /home/informatyka/2006/23dr-a-4/lanecki/public_html/new5.php on line 2
Nie można się połączyć

Baza danych w szkole jest w Postgresie moze trzeba jeszcze coś więcej podać a może podałem zły
mysql_select_db questionmark.gif

Proszę o pomoc
marcio
To masz napewno zle
  1. <?php
  2. mysql_select_db('baza.php');
  3. ?>

co to wybierasz baze plik??Po co rozszerzenie poczytaj to
A tak btw to jak to jest POSTGRESQL to moze byc calkiem inaczej ale na niej sie nie znam
Ryest
zlikwidowałem rozszerzenie i jest to samo...może to nie ten plik questionmark.gif

a on wygląda tak
  1. <?php
  2. class db
  3. {private $db;
  4. private $res;
  5. public function __construct()
  6. {
  7. $this->db=pg_connect("user=ryest port=54321 host=gandalf.mac.edu.pl password=xxxx dbname=ryest");
  8. if (!$this->db)
  9. {echo "brak połączenia z Bazą";die();}
  10. }
  11. public function zp($sql)
  12. { $this->res=pg_query($this->db, $sql);
  13. return $this->res;}
  14. public function wiersz()
  15. {return pg_fetch_assoc($this->res);}
  16. public function il_wier()
  17. {return pg_num_rows ($this->res);}
  18. }
  19. ?>


on wyświetla mi sie jako pusta strona więc jest dobrze, więc gdzie leży bład?

Może jednak ktoś wie co tutaj jest źle sad.gif
nowotny
Nigdy nie używałem Postgresa ale problem chyba leży w tym że próbujesz używać funkcji Mysql'owych do połączenia się z bazą Postgresową, co raczej nie przejdzie...

Ja bym to zrobił tak:
  1. <?php
  2. include_once ('baza.php'); //includujac plik baza.php nawiazujesz juz polaczenie z baza
  3. $db->zp("INSERT INTO samochody (`nr_s`, `marka`, `typ`, `kolor` ) VALUES ('', 'HONDA', 'CIVIC', 'wisniowy')");
  4. ?>

Nie wiem na ile składnia Postgresowa różni się od Mysqlowej, ale powinno działać...
Ryest
Zrobiłem tak
  1. <?php
  2. include_once ('baza.php'); //includujac plik baza.php nawiazujesz juz polaczenie z baza
  3. $db->zp(INSERT INTO samochody VALUES ('', 'HONDA', 'CIVIC' ));
  4. ?>

i wyskakuje
Parse error: parse error, unexpected T_STRING in /home/informatyka/2006/23dr-a-4/ryest/public_html/for.php on line 3


a dodając cudzysłów przed INSERT i za przed ostatnim nawiasem otrzymuje takie coś

Fatal error: Call to a member function zp() on a non-object in /home/informatyka/2006/23dr-a-4/ryest/public_html/for.php on line 3

sciana.gif sadsmiley02.gif
nowotny
No a cudzysłowy gdzie...? :[
  1. <?php
  2. include_once ('baza.php'); //includujac plik baza.php nawiazujesz juz polaczenie z baza
  3. $db->zp("INSERT INTO samochody VALUES ('', 'HONDA', 'CIVIC' )");
  4. ?>
Ryest
Cytat(nowotny @ 14.02.2008, 00:20:40 ) *
No a cudzysłowy gdzie...? :[


napisałem wyżej co mi wyskakuje z cudzysłowiem

Fatal error: Call to a member function zp() on a non-object in /home/informatyka/2006/23dr-a-4/lanecki/public_html/for.php on line 3
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.