2014-07-04 10 views
0

我的家伙,我在那里用的小白问题,再次是 我之前1页进行单独从我的数据库选择数据和它的作品,这是代码:从数据库与phpoo选择

<?php 
$ligacao = mysql_connect("localhost", "root", "") or die 
("problemas na ligaçao ao MySQL"); 
mysql_select_db("test", $ligacao); 
$sql = "select nome, telefone from teste"; 
$resultado = mysql_query($sql, $ligacao); 
while ($registo = mysql_fetch_row($resultado)){ 
     print ("$registo[0] --- $registo[1] <br>"); 
}  
mysql_close(); 
?> 

现在我tryed把在类和函数运行安全,我的确在类文件夹是这样的 :

<?php 
class vari{ 
    /* variables needed */ 
    protected $hostname; 
    protected $username; 
    protected $dbpass; 
    protected $db; 
    protected $sql; 
    protected $ligacao; 
    protected $resultado; 
    protected $registo; 

    public function liga() { 
     $db = new vari; 
     $db->hostname = 'localhost'; 
     $db->username = 'root'; 
     $db->dbpass = ''; 
     $db->db = 'mysql_select_db("test", $this->liga)'; 
     $db->sql = '"select nome, telefone from teste";'; 
     $db->ligacao = 'mysql_connect($this->hostname, $this->username, $this->dbpass)'; 
     $db->resultado = 'mysql_query($this->sql, $this->ligacao)'; 
     $db->registo = 'mysql_fetch_row($this->resultado)'; 

     mysql_select_db($db->db, $db->ligacao); 
     while ($db->registo = 1){ 
      print ("$db->registo[0] --- $db->registo[1] <br>"); 
     } 
     mysql_close(); 
} 
} 

,并在指数端起:

<?php 
include 'class/classes.php'; 

$data= new vari; 

$data->liga(); 
?> 

毕竟努力工作,我去看看hapenned和我有一个无穷远循环是这样的:

PHP Error Message 

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/test1/class/classes.php on line 24 

Free Web Hosting 
1[0] --- 1[1] 
1[0] --- 1[1] 
1[0] --- 1[1] 
1[0] --- 1[1] 
1[0] --- 1[1] 
1[0] --- 1[1] 

什么是错的代码?我明白了功能的含义和上课时间,即时学习,但这里的问题与我想到的变量有关,你们能帮我解决这个问题吗?对不起,很长的帖子... ,并立即感谢awesome;) kjonh2

+0

为什么不使用[PDO](http://fr2.php.net/manual/en/book.pdo.php)? .. – Bobot

+0

你为什么试图使用mysql_扩展? – sectus

+0

个人而言,我不明白为什么你花这么多时间,使用'mysql_' –

回答

0

正如很多人指出的,你不应该使用mysql_,而是直接回答你的问题,你有这个行您的代码:

$db->db = 'mysql_select_db("test", $this->liga)'; 

很好,因为$this->liga不是财产,而是当前方法/函数的名称,它只是调用自身。您需要将该行进一步向下移至代码并将其更改为使用$this->ligacao

+0

没有工作,但即时通讯离开那个MySQL回来,我真的想尝试去pdo,因为更安全,在新的教程中可能更容易和简单...只需要尝试了解什么都做的事情,即时通讯测试像一些功能,并检查他们做什么以及数据如何出来... 我认为即时通讯更好的方向现在,对每个人顺便说一句 会在几个小时或几天内发布更多内容:p thks – kjonh2