91亚洲精华国内精华精华液_国产高清在线精品一区不卡_精品特级一级毛片免费观看_欧美日韩中文制服有码_亚洲精品无码你懂的网站369

清單 1. Access/get.php

  1. <?php  
  2. function get_user_id( $name )  
  3. {  
  4.  $db = mysql_connect( 'localhost', 'root', 'password' );  
  5.  mysql_select_db( 'users' );  
  6.  
  7.  $res = mysql_query( "SELECT id FROM users WHERE login='".$name."'" );  
  8.  while( $row = mysql_fetch_array( $res ) ) { $id = $row[0]; }  
  9.  
  10.  return $id;  
  11. }  
  12.  
  13. var_dump( get_user_id( 'jack' ) );  
  14. ?> 

注意使用了 mysql_connect 函數(shù)來實(shí)現(xiàn)PHP直接使用MySQL。還要注意查詢,其中使用字符串連接來向查詢添加 $name 參數(shù)。

該技術(shù)有兩個(gè)很好的替代方案:PEAR DB 模塊和 PHP Data Objects (PDO) 類。兩者都從特定數(shù)據(jù)庫(kù)選擇提供抽象。因此,您的代碼無需太多調(diào)整就可以在 IBM? DB2?、MySQL、PostgreSQL 或者您想要連接到的任何其他數(shù)據(jù)庫(kù)上運(yùn)行。

使用 PEAR DB 模塊和 PDO 抽象層的另一個(gè)價(jià)值在于您可以在 SQL 語句中使用 ? 操作符。這樣做可使 SQL 更加易于維護(hù),且可使您的應(yīng)用程序免受 SQL 注入攻擊。

使用 PEAR DB 的替代代碼如下所示。

清單 2. Access/get_good.php

  1. <?php  
  2. require_once("DB.php");  
  3.  
  4. function get_user_id( $name )  
  5. {  
  6.  $dsn = 'mysql://root:password@localhost/users';  
  7.  $db =& DB::Connect( $dsn, array() );  
  8.  if (PEAR::isError($db)) { die($db->getMessage()); }  
  9.  
  10.  $res = $db->query( 'SELECT id FROM users WHERE login=?',array( $name ) );  
  11.  $id = null;  
  12.  while( $res->fetchInto( $row ) ) { $id = $row[0]; }  
  13.  
  14.  return $id;  
  15. }  
  16.  
  17. var_dump( get_user_id( 'jack' ) );  
  18. ?>

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項(xiàng)目群及時(shí)溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽(yù)

堅(jiān)持

10年專注高端品質(zhì)開發(fā)
  • 返回頂部