dedlfix: Datum mit PDO (Prepare/Execute)

Beitrag lesen

Hi!

zeig doch bitte, was du genau in deinem PDO Objekt stehen hast.

Naja, ein var_dump()-Abzug bringt keine Erkenntnisse. Ein PDO-Objekt hält sich sehr bedeckt:

object(PDO)#1 (0) { }

Aber mein Testcode zum Nachvollziehen des Falles im Ausgangsposting sah so aus:

<?php  
$dbh = new PDO('mysql:host=localhost;dbname=test', 'test', 'test');  
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);  
  
$stmt = $dbh->prepare("SET Geburtsdatum = STR_TO_DATE (:Geburtsdatum, '%e.%c.%Y')");  
$stmt->bindValue(':Geburtsdatum', '13.2.2010');  
$stmt->execute();

Das ergab im ersten Anlauf:

Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: 1193 Unknown system variable 'Geburtsdatum' in ...

Nach dem Hinzufügen des @ ergab sich

Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION test.STR_TO_DATE does not exist in ...

Nach dem Entfernen des Leerzeichens löste sich das Problem in Wohlgefallen auf. Wenn der OP ein anderes hat - und das kann gut sein, weil seine Fehlermeldung anders lautete - muss er sich nochmal konkret äußern.

Lo!