如何在课堂上对功能进行分组

时间:2013-12-03 14:13:56

标签: function class

我是PHP的新手,如何在一个类中对函数进行分组,并在其他页面中使用它来减少输入这是针对单页的,如果我使用多个页面进行分页 这是我的编码

<?php

include ('conn.php');
class sel
{
function sell()
{
if(isset($_POST['submit']))
{
$id=$_POST['id'];   
$username = mysql_real_escape_string($_POST['username']);   
$password = mysql_real_escape_string($_POST['password']);
$result = $myDBObject -> select('*', 'admin', 'username = "'.$username.'" and
  password ="'.$password.'"');
$x = $rdata['id'];
echo $x;
 $_SESSION['username'] =$id;
echo $_SESSION['username'];
if(! $rdata)
{
echo "Enter your username and password correctly";
}
else
{

echo '<script type="text/javascript">
     document.location="list.php";
     </script>';

}
}
}
}
$myDBObject = new sel();
$myDBObject->sell();
?>

我的connection.php代码是

<?php
class DBConnect
{
private $host = 'localhost';
private $user = 'root';
private $pass = '';
private $db = 'enquiry';

public function __construct(){
$conn = mysql_connect($this -> host, $this -> user, $this -> pass);
$sql = mysql_select_db($this -> db, $conn) or die(mysql_error());
}
private function select($select, $table, $where){
$sql = "select ".$select." from ".$table." where ".$where;
$result = mysql_query($sql);
return $rdata = mysql_fetch_array($result);
}

} 
$myDBObject = new DBConnect();
$myDBObject->__construct();
$myDBObject->select($select, $table, $where);
?>

如果我这样做,我得到这个错误我在代码中做错了什么

Fatal error: Call to private method DBConnect::select() from context '' in C:\xampp\htdocs
\Raj\cform\conn.php on line 23

2 个答案:

答案 0 :(得分:0)

您可以使用如下所述的数据库类

class DBConnect
{
private $host = 'localhost';
private $user = 'user';
private $pass = 'pass';
private $db = 'mydb';

public function __construct(){
    $conn = mysql_connect($this -> host, $this -> user, $this -> pass);
    $sql = mysql_select_db($this -> db, $conn) or die(mysql_error());
}

// select query
private function select($select, $table, $where){
    $sql = "select ".$select." from ".$table." where ".$where;
    $result = mysql_query($sql);
    return $rdata = mysql_fetch_array($result);
}

// update query
private function update($update, $table, $where){
    // code here
}
}

需要时,创建类的对象并调用函数,如下所示

require 'dbConnect.php';    // assuming, you have included the database class in this file
$myDBObject = new DBConnect();
$username = mysql_real_escape_string($_POST['username']);   // mysql escaping
$password = mysql_real_escape_string($_POST['password']);   // mysql escaping
// select required data
$result = $myDBObject -> select('*', 'admin', 'username = "'.$username.'" and password = "'.$password.'"');

上述类中描述的功能仅用于演示目的。您可以在类中包含其他函数以及数据转义功能。

仅供参考:mysql已被弃用。请改用mysqliPDOThe mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

答案 1 :(得分:-2)

//嗨,

class ClassName {
    static function funcName1(){
        funcBody1;
    }

    static function funcName2(){
        funcBody2;
    }
}

//使用函数juste do:

ClasseName::funcName1();
ClasseName::funcName2();