2017-09-22 6 views
-2

ich mit dieser Warnung habe Schwierigkeitenmysqli_query() erwartet Parameter 1 Mysqli zu sein,

mysqli_query() erwartet Parameter 1 sein Mysqli, string gegeben

Ich habe die Abfrage in SQL verwendet Abschnitt in phpmyadmin funktioniert, aber mysqli_query gibt diesen Fehler zurück. Meine Verbindung zur Datenbank ist verbunden oder sonstwie würde der Compiler sogar "if" Bedingungen an mysqli_query übergeben. Ich verstehe nicht. bitte hilfe.

Im Anschluss an meinem Code

include("../class/config.php"); 


if($_REQUEST["subuser"]){ 

@extract($_REQUEST); 

$dbobject = new dbconnection(); 

$con = $dbobject->getconnection(); 


    if($con) 
    { 



     $dbresult = $dbobject->selectdatabase(); 
     if($dbresult) 
     { 
        $sql = "select * from admin where username='".$username."' 
          and pswd = '".$pswd."'"; 

        $record = mysqli_query($sql,$con); 

       while ($row = mysql_fetch_array($record)) 
       { 
        echo $row['aid']; 
       } 
     } 
     else 
     { 
       echo mysqli_error(); 
     } 
    } 
    else 
    { 
     echo mysqli_error();  
    } 
} 
+0

Ihre Argumente sind bakwards – rtfm

+0

Haben Sie die Dokumentation von ['mysqli_query()'] (http://php.net/manual/en/mysqli.query.php) gelesen? – axiac

+0

1. Sie mischen oop orientierten Ansatz zu prozeduralen Ansatz.2 kein Fehler Reporting-Mechanismus ist da, so dass Sie Details über das Problem bekommen können.3.it's $ record = mysqli_query ($ con, $ sql); ' –

Antwort

1

Die Verbindung/Link zuerst geht, wenn diese Funktion verwendet wird.

$record = mysqli_query($con,$sql); 

Die nächste Ausgabe, die Sie in laufen, ist, dass mysql_fetch_array die falsche Funktion zu verwenden ist. Sie sollten mysqli_fetch_array verwenden.

Es ist auch (allgemein) besser, mysqli_fetch_row zu verwenden, um ein indiziertes Array zu erhalten, oder mysqli_fetch_assoc, um ein assoziatives Array zu erhalten. mysqli_fetch_array gibt ein Array mit indexierten und assoziativen Schlüsseln zurück, wobei mehr Speicher verwendet wird und foreach oder Anweisungen sich in unerwarteter Weise verhalten.

+0

Danke für Ihren Kommentar, ich habe sie jetzt geändert ich bekomme diese Warnung 'mysqli_fetch_assoc() erwartet Parameter 1 zu sein mysqli_result " – mural

+0

Schauen Sie weiter in Ihrem Code, dort Es gibt eine Menge Probleme damit Ich vermute, dass Sie von einer sehr alten Ressource lernen/kopieren Es ist wahrscheinlich, dass die Abfrage fehlschlägt, also ist "$ record" keine Ressource und stattdessen "null" oder 'false' Sie sind auch anfällig für SQL-Injection und die Verwendung von' extract ($ _ REQUEST) 'ist auch ziemlich gefährlich. – samlev

Verwandte Themen