PDO Prepared Statement - Zugriff auf Oracle liefert kein Ergebnis

PDO ohne Prepared Statements ist ja fast genau wie OOP ohne Klassen ;)
Wenn man bereits schon einmal umstellt, sollte man auch richtig umstellen.

Ich habe es mal auf MySQL umgestellt und es funktioniert einwandfrei...
 
Ich habe mir auch extra eine Klasse gebaut, die eine Verbindung zu einer Oracle und MySQL-Datenbank aufbaut und Befehle ausführen kann, deswegen fände ich es mal gut, wenn das funktionieren würde... :-(
 
Ich habe das ganze jetzt mal so probiert:

PHP:
try {
    $artnr="10277";
        $dbh = new PDO("oci:dbname=db", "scott", "tiger");
        $stmt = $dbh->prepare("SELECT BESTAND FROM TABELLE WHERE ARTIKEL= :artnr");
        $stmt->bindParam(':artnr', $artnr, PDO_PARAM_STR, 12);
        
      if ($stmt->execute()) {

    		while ($row = $stmt->fetch()) {
		    		print_r($row);
    		}
     }
      
        $dbh = null;        

} catch (PDOException $e) {
   print "Error!: " . $e->getMessage() . "<br/>";
   die();
}


..und ich bekomme folgende Fehlermeldung, mit der ich leider nichts anfangen kann:

Warning: PDOStatement::bindParam() expects parameter 3 to be long, string given in
 
Zuletzt bearbeitet:
PHP:
$stmt = $dbh->prepare("SELECT BESTAND FROM TABELLE WHERE ARTIKEL= :artnr ");
        $stmt->bindParam(':artnr', $artnr, PDO::PARAM_STR, 12);

Versuch es mal so.
 
PHP:
       $artnr="10277";
        $dbh = new PDO("oci:dbname=db", "scott", "tiger");
        $stmt = $dbh->prepare("SELECT BESTAND FROM TABELLE WHERE ARTIKEL= :artnr");

        $stmt->bindParam(1, $artnr, PDO::PARAM_STR, 12);
	 					
		if ($stmt->execute()) {
    			while ($row = $stmt->fetch(PDO_FETCH_NUM)) {
					print_r($row);
				}
    		}

liefert folgende Fehlermeldung:

PDOStatement::fetch() expects parameter 1 to be long, string given in.....
 
Zurück