Autor Zpráva
lachim15
Profil
Ahoj,
Kamarád má vlastní server a učí se s ním pracovat. Bohužel s tímto si nevíme rady a potřebujeme poradit.

Mysql tabulka:
id,name,login_password,ip,mail,level,gdpr,gdpr_time,image,karma

Nejspíš bude někde problém v nastavení, jakmile odešlu mysql dotaz INSERT a nevypíšu všechny sloupce v tabulce, tak se dotaz neprovede:
mysqli_query($pripoj, "INSERT INTO users(name,login_password,ip,mail,level,gdpr,gdpr_time) VALUES('$protect_post_name','$new_password','".$_SERVER["REMOTE_ADDR"]."','$protect_post_mail','1','yes','".StrFTime("%d.%m.%Y|%H:%M", Time())."')");

Jakmile ale vypíšu všechny sloupce (krom ID - které je AUTO_INCREMENT), dotaz se úspěšně provede:
mysqli_query($pripoj, "INSERT INTO users(name,login_password,ip,mail,level,gdpr,gdpr_time,image,karma) VALUES('$protect_post_name','$new_password','".$_SERVER["REMOTE_ADDR"]."','$protect_post_mail','1','yes','".StrFTime("%d.%m.%Y|%H:%M", Time())."','','0')");

Jde někde nastavit na serveru / v mysql, aby se nevyplněná pole v dotazu zapsala automaticky jako prázdná, nebo s nastavenou defaultní hodnotou? Problém je u všech INSERT dotazů, ne jen u tohodle.
Kajman
Profil
Zkontrolujte ve struktuře tabulky, zda je u vynechaný sloupců povolená null hodnota nebo tam je nastavená defaultní hodnota.
Tomášeek
Profil
lachim15:
Přečti si chybovou hlasku, kterou sql vrací a rid se ji.
lachim15
Profil
Kajman:
U "image" mám v tabulce formát "text", který nemůže mít defaultní hodnotu. Místo toho bych měl použít "null"? Všude jinde na jiných serverech mi to funguje i bez tohoto použití.

Tomášeek:
Na stránce mi to přímo nic nevypisuje, čekám tedy až přijde kamarád z práce a vytáhne mi logy ze složky, do kterých nemám přístup.
Kajman
Profil
Je o to, jestli je u sloupce nastaven flag NOT NULL nebo ne. Ukažte, co vrací sql příkaz
show create table users

Chybu si můžete vypsat sám
www.php.net/manual/en/mysqli.error.php
lachim15
Profil
Dotaz na mysql:



z toho moc vidět není, vyfotím celou mysql:



EDIT: K těm chybovým hláškám, to je super věc, díky za tip.

"Field 'image' doesn't have a default value"


Jakou mám zvolit default value, když používám "text"? I když možná bude lepší lehce upravit aplikaci a rovnou to přepsat na VARCHAR a bude klid.
Kajman
Profil
Ve sloupci nulový musí být povolené Ano u hodnot, které mohou nabývat null hodnot.
lachim15
Profil
Kajman:
Dobře, díky za vysvětlení :) Po úpravách to funguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0