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
franz87
post
Post #2





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

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


Mam kolejny problem z zapisem liczby zmiennoprzecinkowej.
Ustawiałem typ pola tabeli na DOUBLE,FLOAT,DECIMAL(ten nie działał).
A zmienną string, która zawierała np. '22,50' lub '22.50' rzutowałem na (float) lub (double).
W efekcie co najwyżej udało mi się zapisać do bazy liczbę z uciętymi liczbami po przecinku/kropce - np. samo 22

Drugi problem to zapis daty/godziny w danym formacie np. 'RR-MM-DD GG-MM-SS'
Tu już w ogóle jest problem przy określeniu typu i maski przy tworzeniu tabeli. A co dopiero będzie przy zapisie do bazy.
Dodam, że date przechowuje w zmiennej $data jako string, a czas w $czas jako string

Ten post edytował franz87 25.02.2013, 00:06:33
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: 10.10.2025 - 20:05