-1

PDO を使用して SQL テーブルを作成しようとしています。

ここにadd.phpがあります:

    // include db connect class
require_once __DIR__ . '/db_connect.php';

    // connecting to db
$db = new DB_CONNECT();
echo "Connexion success...";


$sq = DB_CONNECT::$con->query($table);
if ($sq) {
    echo 'Table created...';
}
?> 

接続クラス db_connect.php は次のとおりです。

class DB_CONNECT {

    // constructor
    function __construct() {
        // connecting to database
        return $this->connect();

    }

    /**
     * Function to connect with database
     */
    function connect() {
        // import database connection variables
        require_once __DIR__ . '/db_config.php';

    // Connecting to mysql database and selecting database
    try {
        $con = new PDO(DB_DSN, DB_USER, DB_PASSWORD);
    } catch (Exception $e) {
        die('Erreur : ' . $e->getMessage());
    }

    // returing connection cursor
    return $con;
}
}

データベースにクエリを実行しようとすると、次のエラー メッセージが表示されます。

接続成功... 致命的なエラー: 宣言されていない静的プロパティへのアクセス: DB_CONNECT::$con /public_html/toutain/add.php の 15 行目

4

2 に答える 2

0

この行

 $sq = DB_CONNECT::$con->query($table);

する必要があります

 $sq = $db->query($table);

あなたのクラス定義は

 require_once __DIR__ . '/db_config.php';

 class DB_CONNECT extends PDO {

      public function __construct() {
           try{
               parent::__construct(DB_DSN, DB_USER, DB_PASSWORD);
           }catch(PDOException $e){
               die('Erreur : ' . $e->getMessage());
           }
      }  
 }

私は仕事で同様のクラスを使用しているので、これはコンストラクターが機能するはずであり、接続機能を削除できます

于 2013-11-15T04:19:10.727 に答える