Неустранимая ошибка: необученная ошибка: вызов функции-члена count () для bool в D: \ xampp \ htdocs \ getDatabyDate.php: 25 - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть такая таблица данных

Я хочу получить данные и превратить их в json из этой таблицы!У меня есть функция ниже с именем getDatabyDate () в файле post.php, где я запускаю запрос.Я отправил запрос Post на сервер {"dateID" : "10"}, теперь сервер даст мне ответ json, выполнив запрос из этой таблицы.В классе post.php функция getDatabyDate () возвращает ответ json, но проблема заключается в том, что всякий раз, когда я отправляю запрос на публикацию, я получаю Fatal error: Uncaught Error: Call to a member function rowCount() on bool in D:\xampp\htdocs\getDatabyDate.php:25 это сообщение об ошибке.я отправлю запрос на публикацию в файле getDatabyDate.php. Я отправляю запрос json, но не получаю ответ json.Я новичок и не понимаю, в чем проблема.

getDatabyDate.php класс здесь: -

<?php 
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods,Authorization,X-Requested-with');

include 'database.php';
include 'post.php';

//db connect
$database = new database();
$db = $database->connect();

//
$post = new post($db);

$data = json_decode(file_get_contents("php://input"));

$post->dateID = $data->dateID;

//get post 

$result = $post->getDataByDate();
$num = $result->rowCount();

if($num >0 ){

    //post array
    $post_arr = array();
    $post_arr['data'] = array();

    while($row = $result->fetch(PDO::FETCH_ASSOC)){

        extract($row);

        $post_item = array (
            'id' => $id,
            'dateID' => $dateID,
            'headline' => $headline,
            'reporter' => $reporter,
            'news' => $news,
            'thumbnail' => $thumbnail
        );

        //push data

        array_push($post_arr['data'],$post_item);

    }

    //turn into json
    echo json_encode($post_arr);


}else{
    echo json_encode(
        array('message' => 'No post found')
    ) ;
}

?>

Вот моя функция запроса post.php: -

<?php

class post{

  private $conn;
  private $table = 'dates';

   public $dateID;

  public function __construct($db){
    $this->conn = $db;
      }

     public function getDataByDate(){
      try{
        $query = 'SELECT * FROM breakingnew WHERE dateID = :dateID';
        //prepare statement
        $statement = $this->conn->prepare($query);
        $this->dateID = htmlspecialchars(strip_tags($this->dateID));
        $statement->bindParam(":dateID",$this->dateID);

        if ($statement->execute()) {
          # code...
          return true;
        }
        printf("Error: %s. \n",$statement->error);

        return false;


      }catch(PDOException $e)
    {
      echo "could not connect to table " . $e->getMessage() ;
    }
        return $statement;



    }

  public function readDate(){

    try
    {
         $query = 'SELECT  * FROM dates';

         $statement = $this->conn->query($query);
    }catch(PDOException $e)
    {
      echo "could not connect to table".$e->getMessage() ;
    }


 //   $statement->execute();

    return $statement;    

  }

}

?>

Мой класс database.php: -

<?php

class Database{

  private $db_name = 'newsextended';
  private $host = 'localhost';
  private $username = 'root';
  private $password = '';
  private $conn;

  public function connect(){
    $this->conn = null;

    try{

      $dsn = 'mysql:host='.$this->host.';dbname='.$this->db_name;

      $this->conn = new PDO($dsn,$this->username,$this->password);
      $this->conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
//echo "connected";
    }catch(PDOException $e){
      echo "Connection Error" . $e->getMessage();
      echo "busted";
    }

    return $this->conn;


  }

}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...