2010-09-23 26 views

回答

1

希望這可以幫助,你必須將變量傳遞給一個函數,然後使用該變量從數據庫中檢索一些東西!即

function getUserInfo($username) { 

       $query = "SELECT * FROM user WHERE username = '$username'"; 
       $result = mysql_query($query); 
       if (!mysql_num_rows($result)) return false; 
       $row = mysql_fetch_array($result); 
       return $row; 

      } 
+0

-1這只是要求SQL注入,除非所有的輸入數據在任何使用之前都被消毒過。 – Cez 2010-09-23 08:50:49

+0

我是要求代碼,而不是參考!謝謝 – getaway 2010-09-23 08:58:04

+0

代碼的歡呼聲完美地工作,感謝@cez爲leeting瞭解安全性,我已經逃脫了這個聲明,然後我傳遞給函數! :)) – getaway 2010-09-23 09:01:16

0
  • 的mysql_query() - 簡單,功能界面
  • PDO - OOP,報表編制,簡單易學,很好用
  • ORM - 學說,行走,很難對初學者,但功能強大的後期。
0

集成類爲PDO那麼你的方法集成到數據庫對象

例子:

class Database extends PDO 
{ 
    //Override __construct for PDO 
    function __construct() 
    { 
     Here you assembly your PDO Constructor 
     parent::__construct($dsn,$username,$password,$driver_options); 
    }  
} 

基於,你可以簡單的做:

$Database = new Database(); //Where as your Database class is now combined with PDO: 

作爲後續你現在可以這樣做:

class DB_Table_Users extends Database 
{ 

    public function getByLocation($location) 
    { 
     $statement = $this->prepare("SELECT * FROM users WHERE location = :location"); 
     $statement->bindValue(':location',$location); 
     $statement->execute(); 
     return $statement; 
    } 

    public function getByDate($int_date) 
    { 
     $statement = $this->prepare("SELECT * FROM users WHERE reg_date > :int_date"); 
     $statement->bindValue(':int_date',$int_date); 
     $statement->execute(); 
     return $statement; 
    } 

} 

,並使用像這樣:

$Users = new DB_Table_Users; 
$statement = $Users->getByLocation('uk'); 

foreach($row as $statement->fetchObject()) 
{ 
    //.. 
} 

這有一些更多的結構到數據庫中的關係,將讓你的表的特定的一類。

提示:您還可以在您的DB_Table_XXXX中使用__get__set,以便在您的方法中可以將對象提取到自己的表中。

+0

感謝一個偉大的anwser,:)),如果我想加入表格! – getaway 2010-09-23 09:32:10

+0

好吧,假設你有兩個表,'Users'和'Posts',你爲'User + Post'獲取數據,你將在'DB_Table_Users'中創建一個特定的方法,否則如果你獲取'Posts + Users'如果你真的想進入高級形式的內容,那麼你應該看看ORM的概念 – RobertPitt 2010-09-23 15:21:49

+0

另外,你的回答是,你會爲了讓StackOverflow的索引頁做什麼,它會在'DB_Table_Posts'下面。找到有用的你應該使用^帖子左側投票他們。 – RobertPitt 2010-09-23 15:22:27

相關問題