Erori trecere de la MySQL la MySQLi

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
royal27
Mesaje: 48

Erori trecere de la MySQL la MySQLi

Vreau sa trec pe mysqli dar am o eroare pe care nu inteleg cum sa o rezolv,am cautat pe google dar nu imi da ceea ce caut
eroarea este

Cod: Selectaţi tot

Fatal error: Function name must be a string in /home/u854531772/public_html/dev/plugin/status/login_success.php on line 390
aici este codul

Cod: Selectaţi tot

global $legacy;
 $logedin = $legacy->query("SELECT (*) FROM ".$table."_ses WHERE uid='".$getuid_nick($uid)."'")->fetch_array();////<-AICI ESTE EROAREA DE LA LINIA 390
        if($logedin[0]>0)
        {
          //yip, so let's just update the expiration time
          $xtm = time() + (getsxtm()*60);
          $res = mysql_query("UPDATE ".$table."_ses SET expiretm='".$xtm."' WHERE uid='".getuid_nick($uid)."'");
          
          if($res) {
            $tolog=true;
            echo "<img src=\"$site_web/img/images/login2.gif\" alt=\"$numesite\"/><br/>";
            echo "".$lang['NAME']."<b> $uid</b><br/> ";
            echo "".$lang['PASSWORD']."<b> $pwd</b><br/> ";
          }else{
            echo "<img src=\"$site_web/img/images/point.gif\" alt=\"!\"/>".$lang['PLEASE_COME_BACK']."<br/>"; //no chance this could happen unless there's error in mysql connection
          }
} 
Imi mai apare si eroarea asta

Cod: Selectaţi tot

Warning: mysql_fetch_array() expects parameter 1 to be resource, object given in /home/u854531772/public_html/dev/inc/system.php on line 4932

Cod: Selectaţi tot

function isblockedip($var){
$text = $_SERVER['REMOTE_ADDR'];
global $legacy;
$rez = $legacy->query("SELECT * FROM lib3rtymrc_blockedip");
$i=0;
while($row=mysql_fetch_array($rez))/////////<-----AICI E EROAREA DE LA 4932
{
    $var[$i]=$row[1];
    $i++;
}

$result = count($var);

for ($i=0;$i<$result;$i++)
{
$ausg = stristr($text, $var[$i]);
if(strlen($ausg)>0)
{
return true;
}
}
return false;
}

function avatar($uid)
{
  $av = mysql_fetch_array(mysql_query("SELECT avatar FROM lib3rtymrc_users WHERE id='".$uid."'"));
  if ($av[0]=="")
  {
  $avatar="<img src=\"images/nopic.jpg\"/><br/>";
  }else{
  $avatar = imagine($av[0]);
  }
  return $avatar;
} 
Imi cer scuze ca sunt o bataie de cap dar sunt putin cam nou ....sau nou mai mult.

MarPlo
La prima eroare, trebuie sa separi inlantuirea de apelare a functiilor, si se aplica "num_rows", cam asa:

Cod: Selectaţi tot

$logedin = $legacy->query("SELECT * FROM ".$table."_ses WHERE uid='".$getuid_nick($uid)."'");
if($logedin->num_rows >0){
  $row = $logedin->fetch_array();
  // Restul ..
} 
Iar la a doua, si alte linii de cod similre, in MySQLi nu se foloseste mysql_fetch_array($rez) ci:

Cod: Selectaţi tot

$row = $rez->fetch_array() 
- $rez contine rezultatul interogarii facut cu query().

Daca vrei sa treci la mysqli, aproape tot codul trebuie rescris; tot ce are legatura cu functii care incep cu "mysql_".
- Pe site, la Cursuri sunt lectii cu MySQLi.

royal27
hai ca in mare parte imi merge,mersi mult,trebuie sa modific toate fisierele ca sa nu imi mai dea erori

royal27
Am trecut la mysqli cu succes,mersi frumos pentru tutoriale si ajutor

Subiecte similare