![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Czy ktoś z Was korzystał z PDO do podłączenia do PostreSQL? Sytuacja komplikuje się w momencie gdy robię inserta z wartościami null, standardowo inne bazy interpretują pusty string '' jako null. W PDO jest parametr PDO::NULL_EMPTY_STRING oraz PDO::NULL_TO_STRING, ale nie przynosi to żadnego rezultatu. Czy ktoś ma jakiś pomyśł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
w funkcji quotującej PDO następuje type casting wartości NULL na string'a
żeby to obejść powinieneś sprawdzać czy wartość czasem nie jest NULL'em i pisać:
albo napisz swoją funkcję quotującą i jej używaj zamiast $pdo->quote()
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
No sprawdzanie czy postawiana zmienna jest null było moją pierwsza myślą i rzeczywiście jest to może jakieś rozwiązanie. Ja natomiast szukam jakiegoś przełącznika, który interpretował by '' jako NULL, a wszystko po to aby nie wykonywać właśnie zbędnych warunków if
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie ma takiego przełącznika - musisz sobie sam to zrobić (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@łukasz troche przesadziles z tymi rzutowaniami. Po co int rzutujesz na int? po co bool rzutujesz na bool? itd.
Dodatkowo poprawilem twoj warunek =='' na ==='' @michas61 ja osobiscie wole nie polegac na takich automatach o ktore sie pytasz. Nie zawsze pusty string ma byc wkladany jako null. Raz ci potrzeba nulla, raz pustego stringa. Lepiej samemu okreslic co akurat wlasnie chcemy wlozyc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:57 |