Неустранимая ошибка: вызов функции-члена prepare () для нулевого входа в строке 28 - PullRequest
0 голосов
/ 05 марта 2019

Это мой первый проект на PHP, и я впервые столкнулся с этой ошибкой, которая действительно не может быть исправлена ​​после борьбы за один день.Может ли какой-нибудь эксперт и добрая душа посоветовать, пожалуйста, как решить эту ошибку?Моя версия PHP 5.6.

Большое спасибо,

После того, как я отправил свою форму, она показывает ниже ошибку

Неустранимая ошибка: вызов функции-члена prepare ()on null in on line 28

Моя кодировка соединения с БД:

<?php 
 $DSN= 'mysql:host = localhost; dbname=cms4.2.1';
 $ConnectingDB = new PDO($DSN, 'root', '');

 ?>

Category page that shows line 28 got error on the POD function "prepare"
 if(empty($Category))
{
 $SESSION["ErrorMessage"] = "All fields must be filled out";
 Redirect_to("Categories.php");
 } elseif (strlen($Category)<3) {
 $SESSION["ErrorMessage"] = "Category Title should be greater than 3      
 characters";
 Redirect_to("Categories.php");
 } elseif (strlen($Category)>49) {
 $_SESSION["ErrorMessage"] = "Category Title should be less than 50  
 characters";
 Redirect_to("Categories.php");
  } else {
 global $ConnectingDB;
 $sql = "INSERT INTO category(title,author,datetime)";
 $sql .="VALUES(:categoryName,:adminName,:dateTime)";
 $stmt = $ConnectingDB->prepare($sql); // - > means PDO object rotation -   
 Line 28
 $stmt->bindValue(':categoryName',$Category);
 $stmt->bindValue(':adminName',$Admin);
 $stmt->bindValue(':dateTime',$DateTime);
 $Execute=$stmt->execute();

Пожалуйста, помогите.Большое вам спасибо.

1 Ответ

0 голосов
/ 05 марта 2019

Здесь вам может понадобиться удалить пробелы: mysql:host = localhost; dbname=cms4.2.1 будет mysql:host=localhost;dbname=cms4.2.1

Кроме того, оберните оператор подключения в блок try-catch, чтобы проверить правильность подключения.

try {
    $DSN = 'mysql:host=localhost;dbname=cms4.2.1';
    $ConnectingDB = new PDO($DSN, 'root', '');
    $ConnectingDB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo 'Connected to Database<br/>';
}
catch(PDOException $e){
    echo $e->getMessage();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...