Christian: DBI:mysqlPP Probleme mit Fragezeichen und Quotes

Hi Comunity!

Folgendes Problem tat sich mir auf:
-----------------------------------
...
use DBI;
...
my $dbh = DBI->connect ("DBI:mysqlPP:host:$host;database=$base","$user","$pass", {PrintError => 0, RaiseError => 1});
...
$position = 1;
$ueberschrift = '? Frage ?';
$text = 'Hier kommt die Frage: Frage? Frage ?';

$sth = $dbh->prepare("INSERT INTO tblaktuelles (Position, Ueberschrift, Beitrag) values (?, ? ,?)");
$sth->execute ($position, $ueberschrift, $text);
-----------------------------------

Folgende Fehlermeldung...
-----------------------------------
DBD::mysqlPP::st execute failed: You have an error in your SQL syntax near '?)' at line 1 at ..\cgi-bin\adm_aktuell.pl line ...
-----------------------------------

Hab mich bis jetzt soweit schlau machen können, dass Fragezeichen nicht in Quotes gesetzt werden. Es ist für mich allerdings dringend notwendig die Fragezeichen in die Datenbank wegschreiben zu können. die DB - Felder Ueberschrift und Beitrag sind beide VARCHAR...

Ich checks echt net, wie ich des machen soll. Suche schon seit 3 Stunden eine Lösung...

Danke im Vorraus!

  • Gruß Christian
  1. Hab mich bis jetzt soweit schlau machen können, dass Fragezeichen nicht in Quotes gesetzt werden. Es ist für mich allerdings dringend notwendig die Fragezeichen in die Datenbank wegschreiben zu können. die DB - Felder Ueberschrift und Beitrag sind beide VARCHAR...

    woher?

    http://www.mysql.de/documentation/mysql/bychapter/manual.de_Tutorial.html

    Also die benutzen da Quotes.Kannst du ja mit

    $value = $database->quote($value);

    quoten lassen, und dann mit 'values ($value ...)' ausführen.

    1. Merci Paul!

      Quoting funktioniert aber irgendwie nicht richtig.
      Die Strings, die bei dem Quoting aufgelöst werden,
      sehen etwa so aus:

      '''''?''' '''? )'

      Und da bringt der Parser wieder eine Fehlermeldung.

      Bye Chriss