2016-10-01 16 views
0

を把握することはできません私ができること。これは私がPDOで思い付いたものです:は、私は現在、MySQLからのPDOへのコードのこの部分を変換していプリペアドステートメントに私が間違ってやっている

$db = new PDO('mysql:host='.$db_host.'; dbname='.$db_name, $db_user, $db_pass); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$catquery = $db->prepare("SELECT category, longdescription, locked, catid, 
           parentcatid, leveldown 
          FROM ".$tableprefix."fanfiction_categories 
          WHERE catid=:catid"); 
$stmt -> bindPARAM (':catid', $catid, PDO::PARAM_STR); 
try { 
    $stmt->execute(); 
    echo "Sucess"; 
} catch (PDOException $e) { 
     echo $e->getMessage(); 
} 

私も多くの形でそれを試した後、正しいbindPARAM部分を取得することはできません。私が見落としているものはありますか?私はPDOに関してちょっと混乱しています。だから、誰かが私がどこに間違っているのかを指摘できればいいと思います。

+2

1)は問題ではないかもしれませんが、関数は' bindParam' 2で修正することを忘れている(から準備する) '$ stmt'は存在しないように見えます。 –

+0

は、 '.'から' .'を抜けている可能性があります。$ tableprefix "fanfiction_categories' @テーブル接頭辞とテーブルの間 – RamRaider

+0

PHPのエラー報告が正しく設定されていましたか?適切な設定についてはリンクされた回答を参照してください。 –

答えて

1

かなり単にあなたは `$のcatquery`は、文オブジェクトである)コピー/ペーストからすべての変数

$db = new PDO('mysql:host='.$db_host.'; dbname='.$db_name, $db_user, $db_pass); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$catquery = $db->prepare("SELECT category, longdescription, locked, catid, 
           parentcatid, leveldown 
          FROM ".$tableprefix."fanfiction_categories 
          WHERE catid=:catid"); 

//$stmt -> bindPARAM (':catid', $catid, PDO::PARAM_STR); 
$catquery -> bindPARAM (':catid', $catid, PDO::PARAM_STR); 
try { 

    //$stmt->execute(); 
    $catquery->execute(); 

    echo "Sucess"; 
} catch (PDOException $e) { 
     echo $e->getMessage(); 
} 
+0

私は例を挙げた唯一の人でありがとう、私は他の答えにも感謝します。私はどこが乱れているのか見ています(それはこのような単純なエラーのようです)。ありがとうございました! – llawliet

関連する問題