2016-03-26 14 views
-1

私はすべての答えがstackoverflowで利用可能であることを確認しましたが、似ていますが、私の答えは正確ではありません。だから、この投稿を重複しないでください。PDOでnullのメンバー関数query()を呼び出す

私はそれがここでの

Fatal error: Call to a member function query() on null in C:\wamp64\www\ourCMS\index.php on line 12

を言う実行していたときに、これらは私のコードですが、私の抜粋です:

<?php 

class DB 
{ 
    private $dbHost; 
    private $dbName; 
    private $dbUser; 
    private $dbPass; 

    protected $con; 

    function set_db($host, $db, $user, $pass) 
    { 
     $this->dbHost = $host; 
     $this->dbName = $db; 
     $this->dbUser = $user; 
     $this->dbPass = $pass; 

    } 

    function connect() 
    { 
     $info = 'mysql:host='.$this->dbHost.';dbname='.$this->dbName; 
     try 
     { 
      $this->con = new PDO($info, $this->dbUser, $this->dbPass); 
     } 
     catch(PDOException $e) 
     { 
      print "Error Founds: ".$e->getMessage().PHP_EOL; 
      die(); 
     } 
    } 
} 

// here is the place where i'm trying to use this actually 
if (isset($_POST['submit'])) 
{ 
    include('include/database.php'); 

    $database = new DB; 
    $database->set_db("localhost", "ourcms", "root", ""); 
    $conn = $database->connect(); 

    $name = $_POST['nm']; 
    $query = "INSERT INTO testingpdo (name) VALUES ('$name')"; 
    $data = $conn->query($query); 
    $result = $data->fetchAll(PDO::FETCH_ASSOC); 

    print_r($result); 
} 
+0

Stack Oveflowには同じ質問が数百件あり、回答しています。本当にあなたの問題を解決するのに役立っていない人はいませんか? –

+0

本当にうん!私はちょうどそれらの最大をチェックしましたが、彼らは私の上で運動しませんでした! –

+0

それはすべてが同じ問題を抱えているので奇妙です。あなたは 'null'値を含む変数を持っていますが、それをオブジェクトとして使用しようとしています。あなたの問題と同じです。むしろどこからでもそのコードをコピー&ペーストして、何をしているのかわからないということは、私には分かります。 –

答えて

1

あなたがDBから何も返しません::($conn = $database->connect();)に接続します。関数の最後にreturn $this->con;を追加します。

+1

ああ~~~~~それは唯一の問題でしたか?そうですよ !ありがとう、男! –

関連する問題