PHP PDO语句不工作
我的PDO声明有问题。我有一个处于活动状态的管道PHP PDO语句不工作,php,sql,pdo,bindparam,Php,Sql,Pdo,Bindparam,我的PDO声明有问题。我有一个处于活动状态的管道tail-f/var/log/apache2/error.log监视错误,但什么都没有,我甚至用管道传输了我的mysql.log文件,那里也没有错误 如果iecho$\u POST['sfl']它将打印一个整数ie。(4) 如果我将:sfl参数更改为一个正整数,即“从sfl='4'的站点选择*”,它将查询并提取数据 为了清晰起见,我已经从代码中删除了错误检查 问题:为什么php不绑定我的$\u帖子['sfl']变量到我的语句中?如果您执行其中S
tail-f/var/log/apache2/error.log
监视错误,但什么都没有,我甚至用管道传输了我的mysql.log
文件,那里也没有错误
- 如果i
它将打印一个整数ie。(4)echo$\u POST['sfl']
- 如果我将
参数更改为一个正整数,即:sfl
的站点选择*”,它将查询并提取数据李>“从sfl='4'
问题:为什么php不绑定我的
$\u帖子['sfl']
变量到我的语句中?如果您执行其中SFL=':SFL'
?@sinazza yea我尝试过仍然没有打印任何东西。@jordavis每件事似乎都很好,但是如果您尝试传递一个额外的参数到bind param来告诉参数是int$stmt->bindParam(':SFL',$\u POST['SFL',PDO::param_int),该怎么办
占位符周围的引号无效。你能做一个var\u转储($\u POST['sfl'])
?可能还有其他(不可见的…)字符是变量的一部分,比如空格。@jeroen我确定没有空格,我甚至再次运行了它,这是var\u dump
string(1)“3”的输出如果你做了WHERE SFL=':SFL'
?@sinazza yea我试过了,但仍然没有打印任何东西。@jordavis一切似乎都很好,但是如果你尝试传递一个额外的参数来绑定param,告诉它参数是int$stmt->bindParam(':SFL',$POST['SFL',PDO::param_int)
占位符周围的引号将不起作用。你能做一个var\u转储($\u POST['sfl'])
?可能还有其他(不可见的…)字符是变量的一部分,比如空格。@jeroen我确定没有空格,我甚至再次运行了它,这是var\u dump
string(1)“3”的输出
$sql = "SELECT * FROM station WHERE SFL = :sfl";
$stmt = $db->prepare($sql);
$stmt->bindParam(':sfl', $_POST['sfl']);
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
print_r($result);
}