Dupa finalizarea pasilor descrisi in articolul anterior, trebuie facuti si urmatorii pasi, care merita atentie sporita, deoarece sunt mai greu de implementat.
Se poate incepe prin apelarea ca si globala a variabilei $xyz in fiecare functie care are interogari la baza de date, astfel:
global$xyz;
asta insemnand ca inainte de prima interogare ce se face la baza de date dintr-o functie, sa fie prezenta declaratia acelei variabile. Altfel conectarea la baza de date nu poate fi realizata.
Apoi cel mai recomandat este pasul inlocuirii interogarilor care contin functiile mysql_fetch_array(), mysql_fetch_assoc() si mysql_fetch_row().
Exemplu interogare veche cu functia mysql_fetch_array:
$noi = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM sh99x_gallery"));
Exemplu interogare noua cu functia fetch_array():
$noi = $xyz->query("SELECT COUNT(*) FROM sh99x_gallery")->fetch_array();
Se observa faptul ca query() este o functie apelata in afara, si chiar inaintea functiei fetch_array(), astfel ne fiind posibila inlocuirea intr-un mod automat a interogarilor, decat daca se folosesc expresii regulate si cu un editor de text care permite asa ceva.
Dupa finalizarea inlocuirii acelor functii, se poate inlocui in mod automat in tot scriptul functia mysql_query astfel:
mysql_query(
se inlocuieste cu:
$xyz->query(
.
Ca si pas urmator, se poate face inlocuirea functiei mysql_num_rows astfel:
Exemplu interogare veche cu functia mysql_num_rows:
if(mysql_num_rows($items)>0)
Exemplu interogare noua cu functia num_rows:
if($items->num_rows>0)
.
Mai exista functiile mysql_real_escape_string si mysql_escape_string, functii care daca nu sunt eliminate pot fi apelate astfel:
Metoda veche cu mysql_real_escape_string:
$action= mysql_real_escape_string($_GET["action"]);
Metoda noua cu real_escape_string:
$action= $xyz->real_escape_string($_GET["action"]);
.
Practic in scriptul actualizat nu va trebui sa se mai gaseasca urmatoarea portiune de cod:
mysql_
.
Ca si sursa de inspiratie, poti folosi un script pe care l-am actualizat cu noul tip de conectare la baza de date, script care poate fi descarcat de aici.
Ca si inspiratie am folosit scriptul postat de tine,am modificat tot ce tinea de mysql_ si am adaugat noua versiune mysqli.Bun acum intrebarea de ce cand folosesc scriptul postat de tine(conexiunea baza/script) functioneaza si cand il folosesc pe al meu nu,respectand tot pas cu pas?Ca test am folosit hosting free http://www.serversfree.com .
Ce eroare primesti mai exact?
Nu se face conexiunea baza script.
Poti sa-mi scri eventual pe mess, ID-ul meu e bordanc_nicu, deoarece am nevoie de mai multe detalii ca sa pot intelege exact problema.
Nu se poate conecta la baza de date,asta este mesajul.
Eroarea scz.
Atunci inseamna ca in linia:
$xyz=@new mysqli($dbhost,$dbuser,$dbpass,$dbname);
nu sunt completate corect variabilele, sau au alte nume in config.