bindParam或binValue将不起作用

时间:2013-06-19 09:53:56

标签: pdo

嗨似乎bindParam或bindValue方法都不起作用。

请指教。我试图将$ dbname绑定到dbtest。它似乎不起作用!

bindParam

$dbname = "test1";
$stmt=$dbh->prepare('use :dbtest');
$stmt->bindParam(':dbtest', $dbname, PDO::PARAM_STR);
$firephp->fb($stmt); 
try
{   $stmt->execute();
    $stmt=$dbh->prepare('select database()');
    $stmt->execute();
    $count = $stmt->fetch(PDO::FETCH_ASSOC);
    $firephp->warn("Attempting to use selected database is successful.");
}    

bindValue

$dbname = "test1";
$stmt=$dbh->prepare('use :dbtest');
$stmt->bindValue(':dbtest', $dbname, PDO::PARAM_STR);
$firephp->fb($stmt); 
try
{   $stmt->execute();
    $stmt=$dbh->prepare('select database()');
    $stmt->execute();
    $count = $stmt->fetch(PDO::FETCH_ASSOC);
    $firephp->warn("Attempting to use selected database is successful.");
    $firephp->fb($count);
}    

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

首先,native prepared statements won't work for identifiers
其次,动态绑定数据库没有意义。他们应该是不变的。

因此,请在 DSN 中选择您的数据库,然后使用bindValue在查询中绑定