ope*_*rog 1 php pdo prepared-statement
我是PHP和PDO的新手,我尝试在这里使用预处理语句.经过1小时的尝试,我放弃了.或者我的教程非常糟糕.
编辑:
没有准备好的陈述,这完美地工
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
$prepared = $dbh->prepare('SELECT * from sys_navigation_point WHERE name="root"');
//$prepared->bindParam('foo', 'root');
$prepared->execute();
foreach($prepared as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果准备好的声明,这根本不起作用.在执行此操作时获取完全空白的页面:
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
$prepared = $dbh->prepare('SELECT * from sys_navigation_point WHERE name=:foo');
$prepared->bindParam('foo', 'root');
$prepared->execute();
foreach($prepared as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
Run Code Online (Sandbox Code Playgroud)
foo应该用root替换.但事实并非如此.
在绑定时也尝试使用名称中的冒号:
$prepared->bindParam(':foo', 'root');
Run Code Online (Sandbox Code Playgroud)
正如在文档中所做的那样:http://php.net/manual/en/pdostatement.bindparam.php
归档时间: |
|
查看次数: |
418 次 |
最近记录: |