2017-05-11 6 views
1

Ich habe eine Funktion in function.php, die in Ordnung beim Aufruf in der Datei ausgibt, aber wenn ich function.php in einer anderen Datei und rufen Sie die Funktion ich bekomme Fehler.PHP-Funktionsaufruf Fehler beim Aufruf aus einer anderen Datei

Hier ist meine function.php

$mysqli = new mysqli('localhost','dbuser','dbpassword','dbname'); 

    if($mysqli->connect_error) { 
     die('Connect Error (' . $mysqli->connect_errno . ') ' 
       . $mysqli->connect_error); 
     mysqli_set_charset($mysqli,"utf8"); 
    } 
    $date=$mysqli->real_escape_string($_GET["date"]); 
    if(!empty($date)) { 
     $date = $mysqli->real_escape_string($_GET['date']); 
    } else { 
     $date = date("Y-m-d", strtotime('today')); 
    } 

    function functionname() { 
     global $mysqli, $date; 
     $sql=mysqli_query($mysqli,"SELECT * FROM database WHERE DateLT= '".$date."'"); 
     if(mysqli_num_rows($sql) > 0) { 
      echo "somedata"; 
      while($row = mysqli_fetch_array($sql)) 
      { 

       echo "somedata"; 
      } 
     } else { 

     } 
    } 
    functionname() 
    $mysqli->close(); 
/*-->*/ 

Ausgang in Ordnung. Aber wenn ich Funktion aufrufen aus example.php wie diese,

<?php define('ROOT', $_SERVER['DOCUMENT_ROOT']); 

include(ROOT."/function/function.php"); 

functionname();?> 

ich Mysqli Fehler.

+3

Was ist der Fehler, den Sie bekommen? –

+0

mysqli_query(): Konnte mysqli nicht abrufen – meandme

+0

Tipp: Sie sollten sich daran gewöhnen, Ihre Aussagen im Voraus vorzubereiten, Ihr aktueller Code ist anfällig für eine Injektion. Hast du die Datenbankverbindung überprüft, wenn sie funktioniert? – Brian

Antwort

3

Das Problem ist, dass Sie

tun
$mysqli->close(); 

am Ende function.php. Sie können die Verbindung nicht verwenden, nachdem Sie sie geschlossen haben.

Nehmen Sie diese Linie heraus.

Verwandte Themen