Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Access][PHP] Zapis do bazy, "IF NOT EXISTS"
--franz87--
post
Post #1





Goście







Witam,
Mam dwa problemy przy zapisie do bazy Access (*mdb) z poziomu skryptu PHP.

1. Tworzę tabele, i chcę zastosować IF NOT EXISTS, żeby, gdy tabela istnieje nie tworzono jej.

  1. $polaczenie = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\xampp\\htdocs\\ebayAPI\\baza.mdb", '', '');
  2. $sql = "CREATE TABLE ".$zmienna;
  3. $sql .= "IF NOT EXISTS (ID AUTOINCREMENT,";
  4. $sql .= " User VARCHAR,";
  5. $sql .= " Cena VARCHAR,";
  6. $sql .= " Ilosc VARCHAR,";
  7. $sql .= " Data VARCHAR,";
  8. $sql .= " Godzina VARCHAR,";
  9. $sql .= " Nazwa VARCHAR,";
  10. $sql .= " Numer VARCHAR";
  11. $sql .= " );";
  12. $wynik = odbc_exec($polaczenie,$sql)or die(odbc_exec());

Próbowałem dawać "IF NOT EXISTS" w różnych miejscach, ale zawsze wywala błąd.
To samo chcę zastosować do INSERT INTO przy tworzeniu rekordu, by nie dodawał dubla.Też nie działa.

2. Dałem ID typ AUTOINCREMENT, żeby rekord sam dodawał odpowiednią wartość ID, ale nie działa.
Robiłem to zostawiając przy ID pusty string.

  1. $sql = "INSERT INTO tabela (ID, User, Cena, Ilosc, Data, Godzina, Nazwa, Numer) ";
  2. $sql .= " VALUES ('', 'user', '12,99' , '5szt' , '12-05-2013, '13:00:55' , 'nazwa', 'numer);";
  3. $wynik = odbc_exec($polaczenie,$sql) or die(odbc_exec());

Jeżeli mu podam jakąś wartość ID to działa, ale ja chcę, żeby on dodawał nast wolne ID automatycznie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




CREATE TABLE IF NOT EXISTS `XXX` (...

Przy insert nie wpisuj ID w pierwszym nawiasie, pomijaj to pole.
Go to the top of the page
+Quote Post
franz87
post
Post #3





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 24.08.2009

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


Cytat(Spawnm @ 21.02.2013, 21:05:03 ) *
CREATE TABLE IF NOT EXISTS `XXX` (...


Nie działa:
Warning: odbc_exec(): in C:\lolalizacja/plik.php on line 34
Warning: odbc_exec() expects at least 2 parameters, 0 given in C:\lolalizacja/plik.php on line 34
34 linia wskazuje na $wynik = odbc_exec($polaczenie,$sql)or die(odbc_exec());


Cytat(Spawnm @ 21.02.2013, 21:05:03 ) *
Przy insert nie wpisuj ID w pierwszym nawiasie, pomijaj to pole.


To działa
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 18:25