![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A tak mnie naszło na refleksje pod wpływem jednego tematu na forum.
A więc mamy mysql_query() http://pl1.php.net/manual/en/function.mysql-query.php Jako drugi parametr może przyjąć uchwyt połączenia, ale można nic podawać i wówczas domyślnie wg. dokumentacji jest null resource mysql_query ( string $query [, resource $link_identifier = NULL ] ) Czyli mozna napisać tak: mysql_query($sql) ale można też tak mysql_query($sql, $link) No ale skoro domyślnie to jest null, więc teoretycznie można napisać też tak: mysql_query($sql, null) lub mysql_query($sql, $link) gdzie $link to null. No ale okazuje się, że tak nie można. Jak już podajemy drugi parametr to musi on być linkiem. Nie może być nullem. A wydawać by się mogło na zdrowy rozsądek, że jeśli sami ręcznie wpiszemy to co jest wartością domyślną, to mysql_query powinno się zachować dokładnie tak samo, jakby samo tę wartość domyślną ustaliło. Co Wy na to? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, ża określenie, ale deweloperzy PHP czasami przypominają niedorozwiniętą amebę i na prawdę nie potrafią zrobić najprostszych rzeczy dobrze. Fragment źródła funkcji mysql_query:
Jaki jest błąd? Zmienna mysql_link będzie NULL-em wyłącznie w przypadku, gdy w ogóle nie podamy parametru dla mysql_query(). W przypadku gdy podamy go (o wartości NULL) zmienna mysql_link będzie już stukturą zval, która ma przypisany PHP-owski typ NULL. Innymi słowy w IFie powinno być coś na kształt:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 05:58 |