Autor | Zpráva | ||
---|---|---|---|
djkmito Profil |
#1 · Zasláno: 11. 12. 2013, 19:45:51
Keď získam z MySQL datábazy hodnotu NULL v PHP mi ho berie ako string a neviem potom overiť či je to prázdna hodnota.
Návratová hodnota pri is_null() ako aj pri empty() by mala byť TRUE ale mne to stále vráti FALSE. Rovnako aj keď si túto premennú dám vypísať cez echo tak mi vypíše "NULL" ale nemalo by vypísať nič. A zistil som, že keď výsledok z datábazy vložím do premennej tak je typu string. $stmt = $mysqli->prepare("SELECT `activation` FROM `authentication` WHERE `mail`=?"); $stmt->bind_param('s', $mail); $stmt->execute(); $stmt->bind_result($result); $stmt->fetch(); $stmt->close(); if (is_null($result)) { echo 'is NULL'; } else echo 'not NULL'; Toto by malo vrátiť not NULL ale mne to vráti is NULL |
||
Zechy Profil |
A co to zkusit ověřit stylem ...
if($result == "NULL") |
||
anonymní Profil * |
#3 · Zasláno: 11. 12. 2013, 20:30:03
Zechy:
to není řešení, pokud je v DB skutečně uloženo NULL. djkmito: nemáš v databázi 'NULL' místo NULL? Jinak by mělo is_null fungovat. |
||
abc Profil |
#4 · Zasláno: 11. 12. 2013, 20:41:24
djkmito:
A co když v databázi nemáš NULL jako prázdno, ale NULL jako string? Jak se to tam ukládá? |
||
djkmito Profil |
V databáze mám určite iba NULL bez apostrofov.
abc: Ako vložím do databázy NULL ako prázdno namiesto NULL ako string? |
||
abc Profil |
#6 · Zasláno: 11. 12. 2013, 21:02:31
djkmito:
Když ukládáš/aktualizuješ, tak nedáš NULL do uvozovek tedy: INSERT INTO TABLE (sloupec) VALUES (NULL) INSERT INTO TABLE (sloupec) VALUES ('NULL') |
||
djkmito Profil |
#7 · Zasláno: 11. 12. 2013, 21:13:38
Hurá, asi to tam bolo iba nejako zle uložené. Teraz som si všimol, že už v databáze je to ako string ale to som tam asi zadával ručne cez adminer.
Spravil som UPDATE a už to beží, ďakujem. |
||
Časová prodleva: 10 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0