Почему запросы PDO не работают на сервере? - PullRequest
0 голосов
/ 21 декабря 2018

Я только что загрузил свой локальный проект на сервер, но запросы PDO не работают на LIVE-сервере.На местных работает нормально.Я подумал, что PDO может быть не установлен на сервере, поэтому я запустил следующий скрипт

Версия PHP на сервере PHP Version 5.3.3, сервер Linux

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

Connection.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 + Для отладки я обошел логин и вошел в панель управления, где мы выбираем статьи из БД, но там ничего не было.И в базе данных у нас много записей.

1 Ответ

0 голосов
/ 21 декабря 2018

Ну, я не знаю, является ли это ошибкой или нет, но добавляя dbname=dbname12 к строке ниже, все начинает работать!

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

Локально это работало нормально с приведенным ниже кодом, но на серверекогда я добавил dbname, тогда запросы начали работать.

$pdo = new PDO('mysql: host=localhost; dbname12', 'myusername', 'password');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...