Получение ошибки «Class PDO not found»

У меня есть простая страница «Скоро», на которой я беру подписные письма, которые я намерен вставить в базу данных mysql.

Раньше у меня был код, но теперь, возвращаясь к нему через 1-2 недели, похоже, есть некоторые проблемы.

В основном есть только 2 файла: index.html и subscribe.php . index.html – это фактически страница «Скоро», и она вызывает subscribe.php чтобы фактически вставить электронное письмо в базу данных, при условии, что его действительный адрес электронной почты не является дубликатом и т. д.

Код subscribe.php приведен ниже. Это очень простой код.

Не делайте этого раньше! Однако теперь появляется ошибка «Class PDO not found …», идущая в строке, где используется PDO:

 <?php function isValidEmail( $email = null ) { return preg_match( "/^ [\d\w\/+!=#|$?%{^&}*`'~-] [\d\w\/\.+!=#|$?%{^&}*`'~-]*@ [A-Z0-9] [A-Z0-9.-]{0,61} [A-Z0-9]\. [AZ]{2,6}$/ix", $email ); } try { // Connect to the SQLite Database. $db = new PDO('mysql:host=hostnamehere;dbname=dbnamehere', 'usernamehere', 'passwordhere'); } catch(Exception $e) { die('connection_unsuccessful'); } /* Check if table exists */ $db->exec('CREATE TABLE IF NOT EXISTS subscribers (email VARCHAR(255), time VARCHAR(255))'); /* Check if email has been posted */ if ( isset($_POST['email']) ) { /* Validate email */ if ( isValidEmail($_POST['email']) ) { /* Check for duplication */ $query = $db->prepare('SELECT COUNT(*) AS count FROM subscribers WHERE email = :email'); $query->execute(array(':email' => $_POST['email'])); $result = $query->fetch(); if ( $result['count'] == 0 ) { // E-mail is unique. $query = $db->prepare('INSERT INTO subscribers (email, time) VALUES (:email, :time)'); $query->execute(array('email' => $_POST['email'], 'time' => date('Ymd H:i:s'))); /* Send mail notification */ $to = 'newsubscriber@xyz.com'; // Email notified of the new subscription $subject = 'New subscriber'; $message = 'Hi, you have one new subscriber. This is his/her e-mail address: ' . $_POST['email'] . '.'; $headers = "From:" . $_POST['email']; mail($to,$subject,$message,$headers); echo 'successful'; } else { // E-mail is already being used. echo 'already_subscribed'; } } else { echo 'invalid_email'; } } при <?php function isValidEmail( $email = null ) { return preg_match( "/^ [\d\w\/+!=#|$?%{^&}*`'~-] [\d\w\/\.+!=#|$?%{^&}*`'~-]*@ [A-Z0-9] [A-Z0-9.-]{0,61} [A-Z0-9]\. [AZ]{2,6}$/ix", $email ); } try { // Connect to the SQLite Database. $db = new PDO('mysql:host=hostnamehere;dbname=dbnamehere', 'usernamehere', 'passwordhere'); } catch(Exception $e) { die('connection_unsuccessful'); } /* Check if table exists */ $db->exec('CREATE TABLE IF NOT EXISTS subscribers (email VARCHAR(255), time VARCHAR(255))'); /* Check if email has been posted */ if ( isset($_POST['email']) ) { /* Validate email */ if ( isValidEmail($_POST['email']) ) { /* Check for duplication */ $query = $db->prepare('SELECT COUNT(*) AS count FROM subscribers WHERE email = :email'); $query->execute(array(':email' => $_POST['email'])); $result = $query->fetch(); if ( $result['count'] == 0 ) { // E-mail is unique. $query = $db->prepare('INSERT INTO subscribers (email, time) VALUES (:email, :time)'); $query->execute(array('email' => $_POST['email'], 'time' => date('Ymd H:i:s'))); /* Send mail notification */ $to = 'newsubscriber@xyz.com'; // Email notified of the new subscription $subject = 'New subscriber'; $message = 'Hi, you have one new subscriber. This is his/her e-mail address: ' . $_POST['email'] . '.'; $headers = "From:" . $_POST['email']; mail($to,$subject,$message,$headers); echo 'successful'; } else { // E-mail is already being used. echo 'already_subscribed'; } } else { echo 'invalid_email'; } } 

Solutions Collecting From Web of "Получение ошибки «Class PDO not found»"