为什么pdo查询不能在服务器上工作?

wooyq4lh  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(409)

我刚刚上传了我的本地项目到服务器,但pdo查询没有工作在实时服务器。它在当地很管用。我认为pdo可能没有安装在服务器上,所以我运行了下面的脚本
服务器中的php版本为 PHP Version 5.3.3 ,linux服务器

<?php
if (!defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO unavailable';
}else{
    echo 'pdo is installed';
}
?>

连接.php:

<?php
    try{
        $pdo = new PDO('mysql: host=localhost; dbname12', 'myusername', 'password');
    }catch(PDOException $e){
        exit('Database Error');
    }

?>

登录:

<?php
session_start();
include_once('../includes/connection.php');
if(isset($_POST['user_name'], $_POST['user_password'])){
    $username = $_POST['user_name'];
    $password = md5($_POST['user_password']);

    if(empty($username) or empty($password)){
        $error = 'All fields are required!';
    }else {
        $query = $pdo->prepare("SELECT * FROM users WHERE user_name = ? AND user_password = ?");
        $query->bindValue(1, $username);
        $query->bindValue(2, $password);
        $query->execute();
        //var_dump($query);exit;
        $num = $query->rowCount();

        if ($num == 1) {
            // User correct details let's log him in
            $_SESSION['logged_in'] = true;

            header('Location: dashboard.php');
            exit();
        } else {
            $error = 'Incorrect Details';
        }
    }
}
?>

通过输入正确的凭据,将显示登录 incorrect details always +为了进行调试,我绕过了登录并进入了 Jmeter 板,在那里我们正在从db获取文章,但什么都没有。在数据库里我们有很多条目。

yhived7q

yhived7q1#

我不知道这是不是一个错误,但是 dbname=dbname12 一切都开始工作了!

$pdo = new PDO('mysql: host=localhost; dbname=dbname12', 'myusername', 'password');

在本地,它可以很好地使用下面的代码,但在服务器上,当我添加 dbname 然后查询开始工作。

$pdo = new PDO('mysql: host=localhost; dbname12', 'myusername', 'password');

相关问题