我现在正在参与PDO,我试图了解一件事:
如果我尝试:
$var = "bing";
$sth-> bindParam(":parameter",$var);
$sth-> execute ();
我没有结果。
但如果我尝试:
$sth-> bindParam(":parameter",$var);
$var = "bing";
$sth-> execute ();
我愿意。 WHY ???
答案 0 :(得分:2)
它应该双向工作。
仔细检查您的场所,创建一个最小化工作示例,以清楚地展示问题。 E.g。
$sth = $pdo->prepare("SELECT :parameter");
$var = "bing";
$sth->bindParam(":parameter",$var);
$sth->execute();
var_dump($sth->fetchColumn());
$sth = $pdo->prepare("SELECT :parameter");
$sth->bindParam(":parameter",$var2);
$var2 = "bong";
$sth->execute();
var_dump($sth->fetchColumn());
大部分时间,在创作过程中,你会发现导致错误的简单拼写错误。
P.S。无论哪种方式,更好地使它只是
$sth = $pdo->prepare("SELECT ?");
$var = "bing";
$sth->execute([$var]);
var_dump($sth->fetchColumn());