Autor | Zpráva | ||
---|---|---|---|
Pipaslot Profil * |
#1 · Zasláno: 15. 4. 2012, 21:46:39
Dobrý den,
Pokouším se konfiguravat Apache 2 aby na něm fungovaly jedny zastaralé stránky, kde se vyskytuje syntaktická chyba v php: $dbuzivatelid = mysql_query("SELECT id_uzivatele FROM uzivatel WHERE uzjmeno='{$_REQUEST['login']}'"); $uzivatelovoid = mysql_result($dbuzivatelid, "id_uzivatele"); ,kde v případě výpisu a testování SQL příkazu přímo v DB SELECT opravdu vrátí potřebná data, jenže mysql_result nevrací nic. To by mělo být správně, jelikož dle PHP manuálu by mysql_result mělo mít jako druhý parametr číslo řádku a třetí parametr číslo, nebo název sloupce. V takovém případě PHP vyhodí chybu a proměnná $uzivatelovoid je prázdná, což způsobuje chybu při nadcházejícím zápisu do databáze avšak pokud tento web spustím na placených webhostinzích, tak i přes chybu vše funguje. Naskýtá se mi tedy otázka jak přizpůsobit Apache aby vše také fungovalo. Nejspíše budu chtít dosáhnout toho aby se za parametr "id_uzivatele" dosadila hodnota 0 a aby se provedla funkce mysql_result() avšak nevím jak toho dosáhnout. |
||
Tori Profil |
Spíš bych uvažovala o úpravě skriptu. Pokud máte editor/IDE, které umožňuje nahrazování pomocí regulárů, nemělo by být těžké všechna volání
mysql_result($promenna, "jmenoSloupce") změnit na mysql_result($promenna, 0, "jmenoSloupce") (a zkontrolovat všude, jestli se má opravdu číst první řádek dat).
|
||
Pipaslot Profil * |
#3 · Zasláno: 15. 4. 2012, 22:08:28
Já sám se chytám za hlavu, když ten web vidím a bylo by jej lepší smazat a udělat znovu ale potřebuju to přizpůsobit aby vše fungovalo na vlastním serveru, zásah do kódu tedy nepřipadá v úvahu.
Potřeboval bych spíše napovědět, jak PHP nebo apache přinutit aby v případě že má spustit funkci s nesmyslnými parametry je nahradil nulou (v tomto případě by pak vše fungovalo) a danou funkci provedl. |
||
Pipaslot Profil * |
#4 · Zasláno: 16. 4. 2012, 09:29:04
Zkusím se zeptat ještě jinak:
Existují v php nějaké mechanismy, které dovedou aby třeba v případě zadání špatného datového typu parametru funkce, jej převedla na správný datový typ s výchozí hodnotou a funkce se pak provedla? Vím jistě, že něco takové je, jelikož na webhostinzích se to tak děje. Předem děkuju za rady. |
||
Časová prodleva: 11 let
|
0