Php 获取结果时发生PDO错误
我试图使用PDO显示一个简单的select语句的结果Php 获取结果时发生PDO错误,php,pdo,row,fetch,fetchall,Php,Pdo,Row,Fetch,Fetchall,我试图使用PDO显示一个简单的select语句的结果 <?php // Define and perform the SQL SELECT query include('config.inc'); $user = $_POST['user']; $password = $_POST['password']; $sql = "SELECT * FROM usuarios where user = '$user' AND passwo
<?php
// Define and perform the SQL SELECT query
include('config.inc');
$user = $_POST['user'];
$password = $_POST['password'];
$sql = "SELECT * FROM usuarios where user = '$user' AND password ='$password'";
$stm = $db->prepare($sql);
$stm->execute();
// here you go:
$users = $stm->fetchAll();
foreach ($users as $row) {
print $row["user"] . "-" . $row["password"] ."<br/>";
}
?>
删除:
$users = $stm->fetchAll();
foreach ($users as $row) {
print $row["user"] . "-" . $row["password"] ."<br/>";
}
$users=$stm->fetchAll();
foreach($users作为$row){
打印$row[“用户”]。“-”$row[“密码”]。“
”;
}
试试这个:
while($row = $stm->fetch(PDO::FETCH_ASSOC)){
print $row["user"] . "-" . $row["password"] ."<br/>";
}
while($row=$stm->fetch(PDO::fetch_ASSOC)){
打印$row[“用户”]。“-”$row[“密码”]。“
”;
}
如果我可以猜到的话:
您已设置了PDO::CASE_UPPER
set。
或者您的列名只是简单地自然地大写 但是…别再犹豫了,开始调查吧。干脆
var_dump($users);
看看你有什么。为什么在使用
prepare()
时直接插入变量??您应该使用占位符,并将$user
和$password
放在execute()
中,如果您有未定义的索引:user
您没有发布名为user
的字段。您确定这是您的字段名吗?可能是用户名
?找出错误是PDO看看这个答案——我刚才不是说这是一个测试吗?它不像我在现实世界中使用它。。。我只是想让它显示一些结果。我当然知道参数绑定。我确信。。。我刚查过。也会弹出查询错误。在这种情况下,没有查询错误。只有PDO错误。那么出现了什么PDO错误?没有骰子。。。这很烦人,因为我只是在没有PDO的情况下做的,而且它很有效。。。我一开始使用PDO,事情就发生了。这是我在这个重要问题上唯一没有动的该死的东西。我试着。。。让事情变得简单,这样某人。。。他发表了建设性的评论。非常感谢,你就是那个人。
var_dump($users);