Php PDO:What';这个问题怎么了?

Php PDO:What';这个问题怎么了?,php,pdo,Php,Pdo,我的类中的方法是否正常工作。不要给我一些错误信息,但根本不起作用 public function query($value) { $this->__error = FALSE; $sql = "SELECT * FROM users WHERE username = ".Input::input($value); if

我的类中的方法是否正常工作。不要给我一些错误信息,但根本不起作用

        public function query($value)
            {
                $this->__error = FALSE;

                        $sql = "SELECT * FROM users WHERE username = ".Input::input($value);

                        if ($this->__query = $this->__pdo->query($sql))
                        {
                             $this->__result = $this->__query->fetchAll(PDO::FETCH_OBJ);
                    $this->__count = $this->__query->rowCount(); //Here is the problem

                        }


                    else {
                    $this->__error = TRUE;
     }   
     return $this;
                }

     public function count()
            {
                return $this->__count;
  }
但我不会编写整个类代码,我提到PDO数据库连接是正确定义的($\u PDO属性),也是负责与数据库通信的实例。($\u实例属性)。输入类

这是我的index.php(某种注册表):


结果是“用户不存在”,尽管用户100%存在。

您忘记了引号

$sql = "SELECT * FROM users WHERE username = '".Input::input($value) . "'";
<>但是你应该考虑使用准备好的陈述…< /P>
$stmt = $this->__pdo->prepare("SELECT * FROM users WHERE username = :name");
$stmt->bindParam(':name', Input::input($value));
$result = $stmt->execute();
你忘了引语了吗

$sql = "SELECT * FROM users WHERE username = '".Input::input($value) . "'";
<>但是你应该考虑使用准备好的陈述…< /P>
$stmt = $this->__pdo->prepare("SELECT * FROM users WHERE username = :name");
$stmt->bindParam(':name', Input::input($value));
$result = $stmt->execute();
你忘了引语了吗

$sql = "SELECT * FROM users WHERE username = '".Input::input($value) . "'";
<>但是你应该考虑使用准备好的陈述…< /P>
$stmt = $this->__pdo->prepare("SELECT * FROM users WHERE username = :name");
$stmt->bindParam(':name', Input::input($value));
$result = $stmt->execute();
你忘了引语了吗

$sql = "SELECT * FROM users WHERE username = '".Input::input($value) . "'";
<>但是你应该考虑使用准备好的陈述…< /P>
$stmt = $this->__pdo->prepare("SELECT * FROM users WHERE username = :name");
$stmt->bindParam(':name', Input::input($value));
$result = $stmt->execute();

用户不应该被引用为stringYou不应该这样构建您的查询。使用参数作为输入值,然后在执行时绑定它们。用户不应该被引用为string吗?你不应该这样构建你的查询。使用参数作为输入值,然后在执行时绑定它们。用户不应该被引用为string吗?你不应该这样构建你的查询。使用参数作为输入值,然后在执行时绑定它们。用户不应该被引用为string吗?你不应该这样构建你的查询。使用参数作为输入值,然后在执行时绑定它们。Tnx man为您的问题提供了很多帮助!你帮我准备了一份声明!谢谢你的提问!你帮我准备了一份声明!谢谢你的提问!你帮我准备了一份声明!谢谢你的提问!你帮我准备了一份声明!