Autor Zpráva
Pierrre
Profil
Narazil jsem na zvláštní věc při vkládání do databáze.
V poli mám výsledek regulárního výrazu, ke dvěma prvkům přičtu další a pak to chci uložit.
Když funkci mysql_query dám prvky pole, nic se neuloží. Pokud použiju pomocnou proměnnou, funguje to. Dá se to nějak udělat, abych tu pomocnou proměnnou nepotřeboval?
// neuloží se nic
$g[0][1]+=$g[0][3]+$g[0][5];
$g[0][2]+=$g[0][4]+$g[0][6];
mysql_query("INSERT INTO tab (date,  gh, ga) VALUES ('$date','$g[0][1]','$g[0][2]')"); 

//uloží se požadované hodnoty
$gh=$g[0][1]+$g[0][3]+$g[0][5];
$ga=$g[0][2]+$g[0][4]+$g[0][6];
mysql_query("INSERT INTO tab (date,  gh, ga) VALUES ('$date','$gh','$ga')"); 
martin1312
Profil
Pierrre:
Nejako moc sa query nerozumiem, ale nemalo by byt namiesto tohto:

mysql_query("INSERT INTO tab (date,  gh, ga) VALUES ('$date','$g[0][1]','$g[0][2]')");

toto ?

mysql_query("INSERT INTO tab (date,  gg) VALUES ('$date','$g[0][1]','$g[0][2]')");
Tori
Profil
Pierrre:
PHP parser bere při takovémto zápise jako index pole jen první hranaté závorky, takže z tohoto
mysql_query("INSERT INTO tab (date,  gh, ga) VALUES ('$date','$g[0][1]','$g[0][2]')");
vznikne řetězec INSERT INTO tab (date, gh, ga) VALUES ('---datum---','Array[1]','Array[2]').

Použijte složené závorky, nebo dejte proměnnou mimo řetězec:
mysql_query("INSERT INTO tab (date, gh, ga) VALUES ('$date','{$g[0][1]}','" . $g[0][2] . "')"); (V případě asoc.pole se *musí* uvnitř složených závorek psát apostrofy/uvozovky u indexů pole, stejně jako kdyby to bylo zapsané mimo kontext řetězce.)
Pierrre
Profil
No jasně, složené závorky, že mě to nenapadlo. Díky moc!

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: