2017-04-10 20 views
1

In OpenCart, wie die richtige Datenbank Hostname, Benutzername, Kennwort und Datenbankname, wie kann ich eine mysqli Abfrage ausführen, um eine Reihe von Informationen aus der Datenbank in einem separaten abrufen PHP-Skript? Zum Beispiel, wenn ich eine PHP-Datei mit dem Namen „my_script.php“ haben, die Folgendes enthält:Abrufen von Informationen aus der Datenbank in OpenCart ohne MVC

$order_id = '123'; 

$mysqli = new mysqli('localhost', 'db_username', 'db_password', 'db_name'); 

$result = $mysqli->query("SELECT * FROM oc_order WHERE order_id = ".$order_id, MYSQLI_USE_RESULT); 

echo $result['firstname']; 

Das Ziel ist hier einfach auf den Kunden Vornamens von Order # echo 123, aber ich erhalte eine „500 Internal Server Error "statt, so offensichtlich kommuniziert etwas nicht richtig. Im Wesentlichen versuche ich hier die M/V/C-Struktur von OpenCart vollständig zu umgehen und einfach Informationen aus der Datenbank mit den richtigen Zugangsdaten zu erhalten. Ist das überhaupt möglich?

Opencart die neueste Version ist, 2.3.0.2

+0

Frage, ob Sie die mysqli Code kommentieren, und echo einfach die order-id .... oder wenn sie den ganzen code kommentieren und einfach ein einfaches 'echo "Hallo Wold"; 'erhalten Sie immer noch den Fehler 500? – Hackerman

+0

Nein, ich kann die Order-ID oder was auch immer wiederholen, nur wenn der $ result = $ mysqli-> query ... part unkommentiert ist, bekomme ich den Fehler. Wenn ich bedingte echo $ mysqli-> error habe, ist der eigentliche Fehler, wenn ich auf die Seite "admin/my_script.php? Order_id = 123" breche "Fehler: Befehle nicht synchron; Sie können nicht ausführen dieser Befehl jetzt " – geoff

+0

Ich habe eine Idee .... statt dessen:' $ mysqli-> query ("SELECT * FROM oc_order WHERE order_id =". $ order_id, MYSQLI_USE_RESULT); 'benutze dazu einfach:' $ mysqli-> Abfrage ("SELECT * FROM oc_order WHERE order_id =". $ order_id); ' – Hackerman

Antwort

0

Schließlich bekam es mit der folgenden Arbeit, die ich als eine Funktion überall verwenden können:

$db = new mysqli('localhost', 'db_username', 'db_password', 'db_name'); 

if(mysqli_connect_errno()){ 
echo mysqli_connect_error(); 
} 

$getresult = $db->query("SELECT * FROM oc_order WHERE order_id = '".$order_id."'"); 
if($getresult){ 

    $result = $getresult->fetch_array(); 
    $getresult->close(); 

} else echo($db->error); 

// close the connection 
$db->close(); 

return($result);  
Verwandte Themen