MySQL SELECT查询在准备好后返回false

时间:2018-05-07 18:08:44

标签: php mysql

我的文件应该让所有拥有此id的用户(它只有一个因为id在此表中是唯一的)并准备一个语句以便稍后执行。当我执行它时,我收到此错误:

  

致命错误:未捕获错误:调用成员函数execute()   C:\ xampp \ htdocs \ Gamanware.ga \ Admin \ update.php中的布尔值:7堆栈   跟踪:#0 {main}被抛入   第7行的C:\ xampp \ htdocs \ Gamanware.ga \ Admin \ update.php。

我无法看到它有什么问题。 id是正常的(我肯定地回应它),我没有使用保留字并确保它无论如何都不重要,但我仍然得到这个错误。我一直在几个论坛上,很多问题对我没用。我希望你们中的一些人能够!
我的代码:



<?php

require '../includes/login_system.dbh.php';
$id = $_GET['id'];
$sql = 'SELECT * FROM `users` WHERE `id`=:id';
$statement = $conn->prepare($sql);
$statement->execute([':id' => $id ]);
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

尝试以下代码并查看是否有帮助

require '../includes/login_system.dbh.php';
$sql= "SELECT * FROM users WHERE id = :id"; 
$statement = $conn->prepare($sql);
$statement->bindParam(':id', $id, PDO::PARAM_INT);
$id = $_GET['id'];
$statement->execute();

你也可以像你这样执行if else语句来查看它给你的内容。

require '../includes/login_system.dbh.php';
$sql= "SELECT * FROM users WHERE id = :id"; 
$statement = $conn->prepare($sql);
$statement->bindParam(':id', $id, PDO::PARAM_INT);
$id = $_GET['id'];
if ($statement->execute()) {
    echo "Success";
} else {
    echo "Failed";
}