2011-04-07 149 views
1

代码不起作用的因素是什么?执行sql命令

<?php 
class mysql 
{ 
    var $user; 
    var $password; 
    var $database; 
    var $host; 
    var $out; 
    var $query; 

    function mysql($username, $password, $database, $host, $query) 
    { 
     $this->user = $username; 
     $this->password = $password; 
     $this->database = $database; 
     $this->host = $host; 
     $this->query = $query; 
    } 
    function connect() 
    { 
     $this->out = mysql_connect($this->host, $this->user, $this->password) 
       or die("Error cannnot connect to mysql server"); 
       echo "Connected successfully to Mysql server"; 
     mysql_select_db($this->database) or die("Cannot select db"); 

    } 
    function execution() 
    { 
     $re = mysql_query($this->query); 
     while($row = mysql_fetch_array($re)) 
      echo $row; 
    } 
    function out() 
    { 
     mysql_close($this->out); 
    } 

} 
$connect = new mysql('root','','test','127.0.0.1'); 
$connect->connect(); 
$connect->execution('test','SELECT * FROM test'); 
$connect->out; 


?> 

更新

$connect = new mysql('root','','test','127.0.0.1','SELECT ss from test'); 

我已经尝试上面的代码及其不要返回任何结果..

SS包含列名ID及其包含的11个值。

+0

请修改您的问题以提供更多信息。此外,您可以在您提出的任何问题的任何答案下使用评论功能。请花些时间阅读[faq](http://stackoverflow.com/faq)。 – 2011-04-07 18:44:59

回答

1

你的构造应该是new mysql('root','','test','127.0.0.1', 'SELECT * FROM test');

3

它看起来像一对夫妇的函数调用正在传递的参数不正确的量。你的mysql()构造函数应该取5,但你只给它4。另外,执行()不会取任何,并且你正在试图给它2。

1

你缺少$query参数在你的mysql()拨打:

$connect = new mysql('root','','test','127.0.0.1'); 

应该是

$connect = new mysql('root','','test','127.0.0.1', 'SELECT * FROM test'); 

虽然移动为$query参数到execution()方法清洁器。