Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Pola obowi±zkowe, nieobowi±zkowe a bindowanie
Forum PHP.pl > Forum > PHP
szubi95
Cze¶æ! smile.gif

Ostatnio rozpocz±³em prace nad ma³ym systemem cms i natrafi³em na problem przy klasie rejestracji u¿ytkowników.
W bazie mam takie pola:

* - obowi±zkowe

login* , haslo* , email* , imie, nazwisko, rok_urodzenia, avatar, data_utworzenia, ostatnio widziany

  1. INSERT INTO users (login, haslo, email, imie, nazwisko, rok_urodzenia, avatar, data_utworzenia, ostatnio_widziany)
  2. VALUES (:login, :haslo, :email, :imie, :nazwisko, :rok_urodzenia, :avatar, :data_utworzenia, :ostatnio_widziany);


Pola obowi±zkowe s± bindowane jak i dwa ostatnie(zwyk³a obecna data), natomiast b³±d pojawia siê kiedy pozosta³e pola nie s± wype³nione:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Co znaczy b³±d rozumiem. Problemem jest jak temu zaradziæ, poniewa¿ nie chcia³bym unikaæ bindowania pozosta³ych danych. Czy muszê tworzyæ zapytanie insert na podstawie otrzymanych warto¶ci(po obróbce danych), czy istnieje mo¿e jakie¶ inne rozwi±zanie tego problemu(nie chcê przekombinowaæ)? Proszê o odpowied¼ wink.gif

Pozdrawiam szubi
Pyton_000
Rozwi±zañ jest wiele.
- Tak jak mówi³e¶ zbudowanie dynamicznie insert
- Wpakowanie w brakuj±ce dane '' lub NULL
nospor
Gdy pole jest puste, to wstawiaj tam poprostu pusty ci±g jako wartosc '', albo NULL jesli na takowy pozwalasz
szubi95
Ok, dziêki wielkie. Przyznajê siê bez bicia, o NULL ca³kiem zapomnia³em wink.gif
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.