Php 登录脚本不工作

Php 登录脚本不工作,php,pdo,Php,Pdo,以下是完整的脚本: connection.php class Connection{ public function dbConnect(){ return new PDO("mysql:host=localhost; dbname=test", "root", ""); } } user.php 包括_once('connection.php') index.php include_once('User.php'); if(isset($_PO

以下是完整的脚本:

connection.php

class Connection{
    public function dbConnect(){
    return new PDO("mysql:host=localhost; dbname=test", "root", "");        
    }   
}
user.php

包括_once('connection.php')

index.php

include_once('User.php');

if(isset($_POST['submit'])){
$name = $_POST['user'];
$pass = $_POST['pass'];

$object = new User();
$object->Login($name, $pass);   
}
但当我尝试时,会出现以下错误:

致命错误:对C:\wamp\www\testes\User.php第16行的非对象调用成员函数prepare()

第16行:$st=$this->db->prepare(“从name=?和pass=?”的用户中选择*”

你的魔法破灭了

public function\uuuu构造函数(){

应该是


public function\uuuu construct(){

非常感谢!已修复。只有另一个问题:我是如何引入加密密码的?您可以使用哈希函数对密码进行哈希运算,请参阅我使用md5对密码进行加密。由于这是我第一次使用PDO,我想知道md5+PDO是否是避免sql注入的解决方案。PDO+预处理语句应该可以。md5对防止sql注入没有任何作用QL注入,它只确保明文密码不能被盗。然而,MD5不再是非常安全的;已经收集了流行密码的MD5散列。至少使用每个密码的“盐”,并考虑使用“SHA”或更好的BCRIPT/BooFISH()。
include_once('User.php');

if(isset($_POST['submit'])){
$name = $_POST['user'];
$pass = $_POST['pass'];

$object = new User();
$object->Login($name, $pass);   
}