2012-01-18 17 views
-4

ヘルプを提供するには、get.class.phpが必要です。同じコードですが、2つのうちの1つが動作していませんか?

作業場合(index.phpをスパゲッティ):スパゲッティの

<?php 
require_once 'classes/get.class.php'; 
$get = new Get(); 
$get->getSql("SELECT * FROM gunler ORDER BY g_id ASC LIMIT 0,15"); 
foreach($get->getData() as $data) 
{ 
    echo $data["g_name"]; 
} 
?> 

結果:

18 January 2012 

意味で成功しました。

は、ケースを働いていない:これの

<?php 
require_once 'get.class.php'; 

Class Main Extends Get 
{ 
    function __construct() 
    { 
     // boş 
    } 

    public function getGun($limit = 15, $sayfa = 1) 
    { 
     $limit1 = $limit * ($sayfa - 1); 
     $limit2 = $limit1 + $limit; 
     parent::getSql("SELECT * FROM gunler ORDER BY g_id ASC LIMIT " . $limit1 . "," . $limit2); 
     return parent::getData(); 
    } 
} 

?> 
$main = new Main(); 

print_r($main->getGun()); 

結果:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\dailypremium\classes\get.class.php on line 39 

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\dailypremium\classes\get.class.php on line 55 
Array () 

私は2番目のコードの間に違い最初のコードを参照することはできません。問題はどこだ?

+1

Main :: __ construct()で 'parent :: __ construct()'を追加しようとしましたか? –

+0

これは、mysql接続を適切に確立していないとき、または誤ってmysqlクエリ関数にnull(非mysql接続)値を指定したときに発生するエラーです。私の考えるDBスクリプトのコードがなくても、もっと言い表すのは難しいです。 – Cole

+0

あなたの質問には関係ありませんが、Getクラスを見てみると、 'getSql()'呼び出しで '$ this-> sql'を設定し、' Query() '呼び出しに依存することは、 '。あなたのメソッドが名前を使って何をしているのかを明示し、内部に本質的に隠された癖であるものに依存しないことは、常にずっと優れています。例として、 'Query()'が 'getSql()'から得たSQLを受け取った方がはるかに優れた設計になります。 – jprofitt

答えて

2

これは、オーバーライドされたコンストラクタでparent::__construct()を呼び出しておらず、データベース接続が作成されていないために発生する可能性があります。

関連する問題