doufei2355
2008-11-09 15:52
浏览 60
已采纳

如何使用PHP中的对象从MYSQL数据库连接/检索数据?

Generally I connect and retrieve data using the standard way (error checking removed for simplicity):

$db = mysql_select_db("dbname", mysql_connect("host","username","passord"));
$items = mysql_query("SELECT * FROM $db");

while($item = mysql_fetch_array($items)) {
    my_function($item[rowname]);
}

Where my_function does some useful things witht that particular row.

What is the equivalent code using objects?

图片转代码服务由CSDN问答提供 功能建议

通常我使用标准方式连接和检索数据(为简单起见,删除了错误检查):

  $ db = mysql_select_db(“dbname”,mysql_connect(“host”,“username”,“passord”)); 
 $ items = mysql_query(“SELECT * FROM $ db”); \  n 
while($ item = mysql_fetch_array($ items)){
 my_function($ item [rowname]); 
} 
   
 
 

my_function在哪里有用 具有该特定行的东西。

使用对象的等效代码是什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • drbmhd9583 2008-11-09 16:18
    已采纳

    Since version 5.1, PHP is shipped with the PDO driver, which gives a class for prepared statements.

    $dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); //connect to the database
    //each :keyword represents a parameter or value to be bound later
    $query= $dbh->prepare('SELECT * FROM users WHERE id = :id AND password = :pass');
    
    # Variables are set here.
    $query->bindParam(':id', $id); // this is a pass by reference 
    $query->bindValue(':pass', $pass); // this is a pass by value
    
    $query->execute(); // query is run
    
    // to get all the data at once
    $res = $query->fetchall();
    print_r($res);
    

    see PDO driver at php.net

    Note that this way (with prepared statements) will automatically escape all that needs to be and is one of the safest ways to execute mysql queries, as long as you use binbParam or bindValue.

    There is also the mysqli extension to do a similar task, but I personally find PDO to be cleaner.

    What going this whole way around and using all these steps gives you is possibly a better solution than anything else when it comes to PHP.

    You can then use $query->fetchobject to retrieve your data as an object.

    点赞 打赏 评论
  • dongmo1708 2008-11-09 16:14
    点赞 打赏 评论

相关推荐 更多相似问题