PHP PDO CRUD-Klasse Rufen Sie an eine member-Funktion rowCount() on a non-object

Ich fange gerade mit PDO zu bewegen Weg von mysqli aber ein problem. Ich bin nach einem tutorial, und ich möchte ein array zurückgeben, von der Datenbank, aber ich bekomme die folgende Fehlermeldung:

Fatal error: Call to a member function rowCount() on a non-object in C:\xampp\htdocs\phptuts\crud\core\managedb.class.php on line 27

Hier ist meine managedb.php Klasse:

<?php

class ManageDatabase
{

    public $link;

    function __construct()
    {
        include_once('database.class.php');
        $conn = new database;
        $this->link = $conn->connect();
        return $this->link;
    }

    function getData($table_name, $id=null)
    {
        if(isset($id))
    {
        $query = $this->link->query("SELECT * FROM $table_name WHERE id = '$id' ORDER BY id ASC");
    }
    else
    {
        $query = $this->link->query("SELECT * FROM $table_name ORDER BY id ASC");
    }

    $rowCount = $query->rowCount();
    if($rowCount >= 1)
    {
        $result = $query->fetchAll();
    }
    else
    {
        $result = 0;
    }
    return $result;
}

}

Dann bin ich einfach mit dem folgenden code, um zu versuchen und erhalten eine Antwort:

<?php

include_once('../core/managedb.class.php');
$init = new ManageDatabase;

$table_name = 'users';
$data = $init->getData($table_name);

print_r($data);

Dies ist, wenn ich bekomme den Fehler, Irgendwelche Ideen?

  • Sollten Sie eine vorbereitete Abfrage, falls Ihre übergabe-Parameter $id
  • Ok, lege ich den SQL direkt in phpmyadmin ein und bekam die Ergebnisse, die ich erwartet hatte, aber seine Rückkehr mich ein bool(false), wenn dabei ein var_dump direkt in das Skript, so dass ich denke, etwas ist schief in meinem $rowCount-Funktion, ich kann einfach nicht herausfinden, was.
InformationsquelleAutor twigg | 2012-06-18
Schreibe einen Kommentar