Неопределенная переменная: dbh не уверен, что делать

Недавно я пытался переустановить сайт, который я сделал некоторое время назад. Теперь он размещен на Raspberry Pi. При попытке ввести значения в таблицу sql я получаю сообщение об ошибке.

could not find driver Notice: Undefined variable: dbh in /var/www/html/memes/inc/php/pdo_connect.php on line 32 Fatal error: Uncaught Error: Call to a member function prepare() on null in /var/www/html/memes/inc/php/pdo_connect.php:32 Stack trace: #0 /var/www/html/memes/inc/php/register.php(10): dataQuery('INSERT INTO `us...', Array) #1 {main} thrown in /var/www/html/memes/inc/php/pdo_connect.php on line 32

Это код pdo_connect:

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

define('USER', ****');
define('PASS', '****');

function dataQuery($query, $params) {
    // what kind of query is this?
    $queryType = explode(' ', $query);

    // establish database connection
    try {
        $dbh = new 
PDO('mysql:host=localhost;dbname=users', 
USER, PASS);
        $dbh-
>setAttribute(PDO::ATTR_EMULATE_PREPARES, 
false);
        $dbh-
>setAttribute(PDO::ATTR_ERRMODE, 
PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $e) {
        echo $e->getMessage();
        $errorCode = $e->getCode();
    }

    // run query
    try {
        $queryResults = $dbh-
>prepare($query);
        $queryResults->execute($params);
        if($queryResults != null && 'SELECT' == $queryType[0]) {
            $results = $queryResults-
>fetchAll(PDO::FETCH_ASSOC);
            return $results;
        } else {
            return $queryResults->rowCount();
        }
        $queryResults = null; // first of the two steps to properly close
        $dbh = null; // second step tp close the connection
}
catch(PDOException $e) {
    $errorMsg = $e->getMessage();
    echo '<div align="center"><font color="red">too slow, username already taken</font></div>';
    //echo $errorMsg;
    }
}

?>

спасибо за любую помощь

это код реестра: <? php include 'pdo_connect.php'; если (! пусто ($ _ POST)) {$ uname = $ _POST ['uname']; $ upassword = password_hash ($ _ POST ['upassword'], PASSWORD_DEFAULT); $ query = 'ВСТАВИТЬ В users (uname, upassword) ЗНАЧЕНИЯ (?,?)'; // если существует дубликат, возвращает ошибку дублирования. $ params = array ($ uname, $ upassword); $ results = dataQuery ($ query, $ params); }?>

user8559372 13.09.2018 18:37

Адрес сайта spicymemes.ddns.net, если вы хотите попробовать себя

user8559372 13.09.2018 18:39
0
2
140
0

Другие вопросы по теме