2017-07-24 31 views
1

nur eine einfache Verbindung zu einer SQL-DB.PHP Basisverbindung mysqli_query Fehler

Ich schrieb theee einfache Verbindung, die Funktion aufgerufen wird, sind alle PHP-Kern-API-Funktionen mysqli und nicht mysql, so dass keine Mischung läuft, vielleicht habe ich etwas ziemlich Grund hier verpasst?

Der Fehler Ich erhalte ist: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in G:\xampp\htdocs\phpBackToBasics\connect.php on line 29

ich vardump setzen $connection zu überprüfen, und es wird wieder wahr von mysqli_connect.

connection.php

function db_connection() 
{ 
    static $connection; 

    if (isset($connection)) { 
     $host = 'localhost'; 
     $config = parse_ini_file('config.ini'); 
     $connection = mysqli_connect($host, $config['username'], $config['password'], $config['phpBackToBasics']); 
    } 
    if ($connection === false) { 
     return mysqli_connect_error(); 
    } 
    return $connection; 
} 

function db_query($query) 
{ 
    $connection = db_connection(); 
    var_dump(print_r($connection)); //<== true. 
    $result = mysqli_query($connection, $query); 
    if ($result === false) { 
     return mysqli_error($connection); 
    } 
    return $result; 
} 

function db_error() 
{ 
    $connection = db_connection(); 
    return mysqli_error($connection); 
} 

create.php

include_once 'connect.php'; 

$result = db_query("INSERT INTO 'users' ('name', 'email') VALUES ('boolBool', '[email protected]')"); 
if ($result === false) { 
    $error = db_error(); 
    echo 'you have an error: '.$error; 

} else { 
    return 'Row has been added'; 
} 
+1

Sie können 'print_r() 'nicht' var_dump'. Verwenden Sie 'var_dump ($ verbindung);' anstelle von 'var_dump (print_r ($ verbindung));' - was bekommen Sie? – Tom

+0

es ist in Ordnung, ich habe 1, was gut genug für mich war, es ist alles gut und danke für den Kommentar @thebluefox. – clusterBuddy

Antwort

0

ändern diese Zeilen:

static $connection; 
if (isset($connection)) { 

wie folgt:

static $connection = null; 
if ($connection == null) { 

Ihr Code prüft, ob eine Verbindung besteht, versuchen Sie eine Verbindung herzustellen. Stattdessen sollte es überprüfen, ob die Verbindung nicht vorhanden ist, versuchen Sie eine Verbindung herzustellen.

Verwandte Themen