mysql连接方式

一、PHP使用MYSQL数据库方式

本例主要是用PHP连接MYSQL数据库。通过相关语句对SQL语句的执行,达到操作数据库的目的。

1、实例

  
  
  
  
  1. $link_id=mysql_connect($hostname,$username,$password);    
  2. mysql_query("SET CHARACTER SET  utf8");    
  3. mysql_query("SET NAMES utf8");    
  4. $result=mysql_select_db("xyymg");    
  5. if( !$result )    
  6. {    
  7.     echo "连接数据库出错!";    
  8.     exit();    
  9. }    
  10. $search_sql_0 = "select webPicId, webPicTitle, webPicTime, webPicPath from web_pictable where webPicSort = $t_index";    
  11.             
  12.     $res_search_0 = @mysql_query("$search_sql_0");    
  13.     $num_records = @mysql_num_rows( $res_search_0 );        //记录行总数     
  14.             
  15.     $search_sql_1 = $search_sql_0." order by webPicId desc limit $init_record,$num_to_show";            
  16.     $res_search_1 = mysql_query("$search_sql_1");    
  17.     $t_picList = array();           
  18.             
  19.     if$res_search_1 )    
  20.     {           
  21.         while$r = mysql_fetch_row( $res_search_1 ) )    
  22.         {    
  23.             $t_picSaveSmallPath = "./".PIC_SAVE_SMALL_PATH.$r[3];    
  24.             $t_picList[] = array'id'=>$r[0], 'title'=>$r[1], 'ttime'=>timeToDate( $r[2] ), 'smallPicPath'=>$t_picSaveSmallPath );     
  25.         }       
  26.     }          

2、连接数据库

  
  
  
  
  1. <?php
  2. $con = mysql_connect("localhost","peter","abc123");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7. // some code
  8. ?>

3、断开数据库

  
  
  
  
  1. <?php    
  2. $con = mysql_connect("localhost","peter","abc123");    
  3. if (!$con)    
  4.   {    
  5.   die('Could not connect: ' . mysql_error());    
  6.   }    
  7. // some code    
  8. mysql_close($con);    
  9. ?>   

4、用mysql_query() 执行SQL语句

5、从数据库表选取数据

  
  
  
  
  1. <?php    
  2. $con = mysql_connect("localhost","peter","abc123");    
  3. if (!$con)    
  4.   {    
  5.   die('Could not connect: ' . mysql_error());    
  6.   }    
  7. mysql_select_db("my_db"$con);    
  8. $result = mysql_query("SELECT * FROM person");    
  9. while($row = mysql_fetch_array($result))    
  10.   {    
  11.   echo $row['FirstName'] . " " . $row['LastName'];    
  12.   echo "<br />";    
  13.   }    
  14. mysql_close($con);    
  15. ?>   

 

6、ODBC实例

  
  
  
  
  1. <html>    
  2. <body>    
  3. <?php    
  4. $conn=odbc_connect('northwind','','');    
  5. if (!$conn)    
  6.   {exit("Connection Failed: " . $conn);}    
  7. $sql="SELECT * FROM customers";    
  8. $rs=odbc_exec($conn,$sql);    
  9. if (!$rs)    
  10.   {exit("Error in SQL");}    
  11. echo "<table><tr>";    
  12. echo "<th>Companyname</th>";    
  13. echo "<th>Contactname</th></tr>";    
  14. while (odbc_fetch_row($rs))    
  15. {    
  16.   $compname=odbc_result($rs,"CompanyName");    
  17.   $conname=odbc_result($rs,"ContactName");    
  18.   echo "<tr><td>$compname</td>";    
  19.   echo "<td>$conname</td></tr>";    
  20. }    
  21. odbc_close($conn);    
  22. echo "</table>";    
  23. ?>    
  24. </body>    
  25. </html> 

二、VC连接数据库方式

本例使用VC连接Access数据库,连接方式为ADO

1、导入引用

  
  
  
  
  1. #import "c:\program files\common files\system\ado\msado15.dll"\    
  2. no_namespace rename( "EOF""adoEOF" )    

2、初始化COM组建

  
  
  
  
  1. CDbOpe::CDbOpe()    
  2. {    
  3.     CoInitialize(NULL);    
  4. }  

3、连接数据库

  
  
  
  
  1. //连数据库    
  2. BOOL CDbOpe::LinkDb(CString db, CString usr, CString psw)    
  3. {    
  4.     CString strDb;    
  5.     strDb.Format( _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"), db );    
  6.     m_pConnection.CreateInstance(__uuidof(Connection));    
  7.         
  8.     try{    
  9.         m_pConnection->Open( (_bstr_t)strDb,(_bstr_t)usr,(_bstr_t)psw,adModeUnknown);    
  10.     }    
  11.     catch(_com_error e )    
  12.     {    
  13.         CString   errMessage;       
  14.         errMessage.Format( _T("连接数据库失败!\r\n错误信息:%s"),(char*)e.Description());       
  15.         AfxMessageBox( errMessage );    
  16.         return FALSE;    
  17.     }    
  18.     return TRUE;    
  19. }   

4、执行SQL语句

  
  
  
  
  1. BOOL CDbOpe::OpenTable( CString sql )    
  2. {    
  3.     m_pRecordset.CreateInstance(__uuidof(Recordset));    
  4.     // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,    
  5.     // 因为它有时会经常出现一些意想不到的错误。jingzhou xu    
  6.     try    
  7.     {    
  8.         m_pRecordset->Open( (_bstr_t)sql,// 查询DemoTable表中所有字段    
  9.         m_pConnection.GetInterfacePtr(),  // 获取库接库的IDispatch指针    
  10.         adOpenDynamic,    
  11.         adLockOptimistic,    
  12.         adCmdText);    
  13.     }    
  14.     catch(_com_error *e)    
  15.     {    
  16.         //AfxMessageBox(e->ErrorMessage());    
  17.         return FALSE;    
  18.     }    
  19.     return TRUE;    
  20. }  
  
  
  
  
  1. //执行SQL语句    
  2. BOOL CDbOpe::ExecutSql(CString sql)    
  3. {    
  4.     _variant_t RecordsAffected;    
  5.     try    
  6.     {    
  7.         m_pConnection->Execute( (_bstr_t)sql, &RecordsAffected, adCmdText);     
  8.         return TRUE;    
  9.     }    
  10.     catch(_com_error e )    
  11.     {    
  12.         AfxMessageBox( _T("执行SQL语句错误!") );    
  13.         return FALSE;    
  14.     }    

5、关闭记录集

  
  
  
  
  1. //关闭记录集    
  2. BOOL CDbOpe::CloseTable()    
  3. {    
  4.     if( m_pRecordset->State)    
  5.         m_pRecordset->Close();    
  6.     m_pRecordset = NULL;    
  7.     return TRUE;    
  8. }   

6、关闭连接

  
  
  
  
  1. //关闭连接    
  2. BOOL CDbOpe::CloseLink()    
  3. {    
  4.     CloseTable();    
  5.     if(m_pConnection->State)    
  6.          m_pConnection->Close();    
  7.     m_pConnection = NULL;      
  8.     return TRUE;    

7、释放COM资源

  
  
  
  
  1. CoUninitialize();  

8读取表数据相关代码

  
  
  
  
  1. //判断打开的记录集是否到了最后一行    
  2. BOOL CDbOpe::IsTalbeEnd()    
  3. {    
  4.     if( m_pRecordset->adoEOF )    
  5.         return TRUE;    
  6.     else    
  7.         return FALSE;    
  8. }    
  9. //向下一条移动    
  10. BOOL CDbOpe::MoveNext()    
  11. {    
  12.     if( !m_pRecordset->adoEOF )    
  13.     {    
  14.         m_pRecordset->MoveNext();    
  15.         return TRUE;    
  16.     }    
  17.     else    
  18.     {    
  19.         return FALSE;    
  20.     }    
  21. }    
  22. //取得字符串值    
  23. CString CDbOpe::GetStringValue(CString colName)    
  24. {    
  25.     CString strReturnValue = _T("");    
  26.     _variant_t var = m_pRecordset->GetCollect( (_bstr_t)colName );       
  27.     if(var.vt != VT_NULL)    
  28.         strReturnValue = (LPCSTR)_bstr_t(var);    
  29.     strReturnValue.TrimRight();     //移除右侧的空格    
  30.     return strReturnValue;    

 

你可能感兴趣的:(PHP,mysql,数据库,连接,VC)