RVG arvutiring
 
Avaleht > Teemad > Veebidisain > Andmebaas

Andmebaas

Väike ülevaade andmebaasidest leiab siit kuid siinkohal mõned õpetused.

Vaata ka MySQL-i dokumentatsiooni.

Kui tuleb näiteks selline veateade kodulehele (xxxx.. on sihilikult asemele kirjutatud):
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxxxx/domains/xxxxxx.xx/public_html/xxxxx/functions/functions.php on line 310

Siin on soovitus - lülitage veateadete näitamine veebilehel välja! Selleks tuleb muuta veebiserveris asuvat faili php.ini - seda tuleb siis paluda veebimajutusteenusepakkujal teha.
Failis php.ini on selline koht:
display_errors = Off  <- see peaks olema "Off" - siis ei näidata vigu

Lisaks on veel üks rida:
html_errors = Off
<- sama siin, peaks olema "Off"

Vigu võib logida faili (log_errors = On) kuid ilmselt ei ole seda vaja kuna veebimajutusteenusepakkuja ei tee midagi nende veateadetega.

Teine võimalus on kirjutada MySQL-i päringud ümber kuna veebimajutusteenusepakkuja võib vabalt ka ei öelda ja ei seadista oma servereid ümber. Nipp peitub '@' kasutamises mysql_query ees. Näiteks:

$sql = mysql_query("SELECT id, text, author FROM table");

... asemel:

$sql = @mysql_query("SELECT id, text, author FROM table");

'@' lihtsalt ütleb andmebaasile, et kui on viga siis ära tee midagi.

Siiski saab lubada anonüümseid veateateid, et oleks ikkagi näha, et on miski viga. Selleks tuleb lisada "if" lause:
$sql = @mysql_query("SELECT id, text, author FROM table");
    if(!$sql) {
    exit('Error fetching data');
    }


Kui on soovi siis võib ka eestikeelsed veateated panna:
"Error fetching data" asemele näiteks "Ei saanud andmeid kätte".

###

Liiga detailselt vigade näitamine veebilehel annab võimaluse kurikaeltel muukida sisse andmebaasi ning seeläbi ära rikkuda ka kodulehe.


cmsimple.org | 2bdesign.de
Külastusi: