gpt4 book ai didi

php - 使 pdo::query 静态

转载 作者:可可西里 更新时间:2023-11-01 07:50:00 30 4
gpt4 key购买 nike

当我运行下面的代码时出现这个错误。我通常使用 msql 函数,但我尝试改用 PDO。怎么了?

fatal error :第 14 行无法静态调用非静态方法 PDO::query()

<?php 

if(isset($_POST['username']) AND isset($_POST['password'])) {

$username = $_POST['username'];
$password = $_POST['password'];
$password_hash = md5($password);

if (!empty($username) AND !empty($password) ) {


$query = "SELECT 'id' FROM `userdatabase` WHERE 'email'='$username' AND 'password'='$password_hash'";

if($query_run = PDO::query($query)){

$query_num_rows = PDO::rowcount($query_run);
if ($query_num_rows==0){
echo 'invalid password/username';

} else {
echo 'Username/password = correct';
}


}


} else {
echo 'You must enter a password..';
}

}


?>

最佳答案

:: 符号用于调用定义为静态的方法,这意味着您无需创建对象的实例来调用该方法。 query() 方法不是静态的,这意味着您需要先创建 PDO 对象,然后对该对象调用 query() 方法。

这应该是这样的:

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$pdo = new PDO($dsn, $user, $password);
$result = $pdo->query('SELECT * FROM table'); //here $result is a set of results that can be accessed like arrays;

关于php - 使 pdo::query 静态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11172777/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com