• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PDO in Klassen und Funktionen

Werbung:
Wenn ich es richtig sehe, ist $conn an dieser Stelle ja auch nicht definiert. Es müsste wohl eher so heißen:

PHP:
$query = $this->conn->prepare(...;
und für die anderen Variablen im prepare-Aufruf entsprechend: $this->u, $this->db etc.

HTH
Alex
 
Echt? Wieso? ich hab die Variablen doch, die werden doch in __construct definiert... Wieso ein $this vorsetzen?? Ich probiers trotzdem gleich mal...
 
Werbung:
Oke, also es hat mehr oder weniger funktioniert... Der Fehler ist weggegangen, aber ein neuer kam dazu:
PHP:
function getUserNameByID($id)    {        $query = $this->conn->prepare('SELECT '.$this->u['name'].' FROM '.$this->tb['user'].' WHERE '.$this->u['id'].' = :id');        $query->execute(array(            ':id' => $id        ));
[...]

Fehler:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id = '1'' at line 1' in /usr/www/users/****/beta/beta/core/scripts/user.php:22 Stack trace: #0 /usr/www/users/****/beta/beta/core/scripts/user.php(22): PDOStatement->execute(Array) #1 /usr/www/users/****/beta/beta/core/testUserFunktionen.php(5): User->getUserNameByID(1) #2 {main} thrown in /usr/www/users/****/beta/beta/core/scripts/user.php on line 22

EDIT: Achso, und weiß zufällig irgendwer, wie der Code auch richtig angezeigt werden kann, also mit Leerzeichen und Absätzen, etc?
 
Zuletzt bearbeitet:
Muss man dir wirklich bei jedem kleinsten Problemchen helfen? Lass dir das Query ausgeben und du entdeckst den Fehler von selbst.
 
Zurück
Oben