Autor | Zpráva | ||
---|---|---|---|
Fastman Profil |
Zdravím,
Mám problém s SQL dotazem na databázi. $sql = "UPDATE `mojedatabaze`.`hraci` SET `nick` = '$nick' WHERE `hraci`.`steamid` = '$steamid'" ; echo'záznam zapsaný!'; hlavní je řádek $sql = "UPDATE `stamm`.`hraci` SET `nick` = '$nick' WHERE `hraci`.`steamid` = '$steamid'" ; Uživatel zadá nick a steamid. V databázi si vyhledá určité STEAMID a připíše ke STEAMID hodnotu nick. Proč se tak neděje? Děkuji za odpověď. * Když jsem to zkoušel v databázi zadat jako SQL dotaz (místo proměnných jsem dal hodnoty), tak to funguje. * |
||
fandaa Profil |
#2 · Zasláno: 3. 5. 2014, 12:37:17
Fastman:
Protože nevoláš funkci pro vykonání dotazu? $sql = "UPDATE `mojedatabaze`.`hraci` SET `nick` = '$nick' WHERE `hraci`.`steamid` = '$steamid'"; ti jenom přiřadí textový řetězec do proměnné $sql.
Přidej volání mysql_query. $sql = "UPDATE `mojedatabaze`.`hraci` SET `nick` = '$nick' WHERE `hraci`.`steamid` = '$steamid'"; mysql_query($sql); Doporučuju ale přejít na mysqli (protože mysql je deprecated) - v zásadě to bude nejspíš spočívat v doplnění i za mysql funkce. |
||
Fastman Profil |
#3 · Zasláno: 3. 5. 2014, 12:44:09
fandaa:
Díky moc. Úplně jsem zapomněl na funkci mysql_query. Nicméně jaké jsou výhody sqli pro běžného uživatele jako jsem Já? |
||
lionel messi Profil |
#4 · Zasláno: 3. 5. 2014, 12:49:19
Fastman:
„Nicméně jaké jsou výhody sqli pro běžného uživatele jako jsem Já?“ • objektové rozhranie (asi nevyužiješ) • možnosť využívať tzv. prepared statements (zjednodušene povedané, o escapovanie sa postará sama databáza) • funkcie pre prácu s transakciami (ako bežný užívateľ tiež veľmi nevyužiješ) • mysql_* rozhranie bude z PHP v budúcnosti odstránené Viac info napr. tu: Fisirovo doupě: Proč nepoužívat funkce mysql_*? |
||
fandaa Profil |
#5 · Zasláno: 3. 5. 2014, 12:56:38
Fastman:
Viz třeba http://stackoverflow.com/questions/548986/mysql-vs-mysqli-in-php (v angličtině). Každopádně mysql funkce generují chybu E_DEPRECATED od verze 5.5.0, neboť budou v budoucnu odstraněny. Viz http://www.php.net/manual/en/function.mysql-connect.php. |
||
Fastman Profil |
#6 · Zasláno: 3. 5. 2014, 13:02:07
lionel messi:
To jako znamená, že všechny PHP kódy půjdou do kytek a budou nefunkční, protože se změní připojení k databázi (mysqli)? To je pěkně na (nechci být sprostý). |
||
juriad Profil |
#7 · Zasláno: 3. 5. 2014, 13:05:55
Fastman:
Toto ještě několik let nehrozí, hostingy nejspíše i pak budou nabízet starší verzi PHP, kde mysql_ bude podporované. Ale je to dobrý způsob ze strany autorů PHP donutit programátory používat mysqli_, které má jen výhody a zapomenout na stařičké nepodporované mysql_. Chyby v mysql_ už nikdo nikdy nebude opravovat. |
||
David Klouček Profil |
#8 · Zasláno: 3. 5. 2014, 16:20:14
Místo mysqli bych rovnou doporučil přejít na nějakej DB layer, třeba www.notorm.com/.
|
||
Časová prodleva: 10 let
|
0