12 Stimmen

Aufruf einer Memberfunktion prepare() auf einem Nicht-Objekt PHP-Hilfe

Ich versuche, eine PHP-Funktion zu schreiben. Sie ist sehr einfach. Es ist nur eine vorbereitete Anweisung, die die Datenbank abfragt, aber ich kann das nicht zum Laufen bringen. Ich erhalte immer wieder die Fehlermeldung Call to a member function prepare() on a non-object. hier ist der Code:

$DBH = new mysqli("host", "test", "123456", "dbname");
function selectInfo($limit, $offset){
    $stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?");
    $stmt->bind_param("ii", $limit, $offset);
    $stmt->execute();
    }
selectInfo();

Jedes Mal, wenn ich die Funktion aufrufe, erhalte ich diesen Fehler. Kann jemand bitte helfen?

3voto

madkris24 Punkte 463

Stellen Sie sicher, dass die Verbindung erfolgreich ist.

$DBH = @new mysqli("host", "test", "123456", "dbname");

if ($DBH->connect_errno) {
    die('Connect Error: ' . $DBH->connect_errno);
}

ou

$DBH = @mysqli_connect("host", "test", "123456", "dbname");

if (!$DBH ) {
    die('Connect Error: ' . mysqli_connect_errno());
}

0voto

Nami Hamiroo Punkte 13

$DBH global zu machen ist nicht gesund... außer, dass Sie Ihre $DBH in der Klasse geschützt machen und auf null setzen können... und es verwenden...

0voto

Nami Hamiroo Punkte 13
class PDOconnect extends PDO{

protected $con=null;

    public function __construct(){
              try {      

                     $this->con= new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); //our new PDO Object

                      $this->con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );                       
                      $this->con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );                     
                      $this->con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
                      echo "hi.. you are connected succcessfully...";
                  }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X