php連接數(shù)據(jù)庫類,可以使用;
創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項目涵蓋了網(wǎng)頁視覺設(shè)計、VI標(biāo)志設(shè)計、全網(wǎng)整合營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)、成都做手機網(wǎng)站、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)公司、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為垃圾桶行業(yè)客戶提供了網(wǎng)站維護(hù)服務(wù)。
或者自己寫個連接代碼:
自定義連接地址、用戶名、密碼、數(shù)據(jù)庫
用$connect= mysql_connect('localhost','user','pwd') or die('連接錯誤:'.mysql_error());
?php
$servername='localhost' ;
$database_username='root';
$database_password='password';
$database_name='databasename';
$connect=mysql_connect($servername,$database_username,$database_password);
mysql_query("set names 'utf8'");
mysql_select_db($database_name);
?
PHP與數(shù)據(jù)庫連接最常用的方法有四種,它們分別是MySQL、mysqli、pdo、adodb,其中以第一種方法最常用,方法如下:
//與數(shù)據(jù)庫服務(wù)器連接
$conn = @mysql_connect('數(shù)據(jù)庫主機名','用戶名','密碼');
//選擇具體數(shù)據(jù)庫
mysql_select('數(shù)據(jù)庫名',$conn);
//如果只打開了一個數(shù)據(jù)庫連接,則$conn可以省略。
這是一段函數(shù)使用錯誤的報錯,主要是目前的配置不支持這段函數(shù),可修改php.ini文件,;extensions=php_mysql.dll 去掉前面的";"號,這表示支持這個函數(shù),如果使用php5的話,還需要開啟mysqli.dll,最后要記得重啟一下apache或iis哦!
本文實例講述了PHP利用pdo_odbc實現(xiàn)連接數(shù)據(jù)庫。分享給大家供大家參考,具體如下:
目的:從sql
server數(shù)據(jù)庫里面把某個視圖文件調(diào)用出來,以鍵值對的方式顯示在頁面上。
利用pdo
odbc來實現(xiàn)PHP連接數(shù)據(jù)庫:
在PHP配置文件里面開啟pdo_odbc.dll服務(wù)。重啟Apache服務(wù)器。
在ThinkPHP5.1的項目中在模塊里添加config添加規(guī)定好的樣式數(shù)據(jù)庫:
代碼如下:
?php
return
[
//
數(shù)據(jù)庫類型
'type'
=
'sqlsrv',
//
服務(wù)器地址
'hostname'
=
'localhost',
//
數(shù)據(jù)庫名
'database'
=
'mysql',
//
用戶名
'username'
=
'sa',
//
密碼
'password'
=
'123456',
//
端口
'hostport'
=
'',
//
連接dsn
'dsn'
=
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
數(shù)據(jù)庫連接參數(shù)
'params'
=
[],
//
數(shù)據(jù)庫編碼默認(rèn)采用utf8
'charset'
=
'utf8',
//
數(shù)據(jù)庫表前綴
'prefix'
=
'',
//
數(shù)據(jù)庫調(diào)試模式
'debug'
=
true,
//
數(shù)據(jù)庫部署方式:0
集中式(單一服務(wù)器),1
分布式(主從服務(wù)器)
'deploy'
=
0,
//
數(shù)據(jù)庫讀寫是否分離
主從式有效
'rw_separate'
=
false,
//
讀寫分離后
主服務(wù)器數(shù)量
'master_num'
=
1,
//
指定從服務(wù)器序號
'slave_no'
=
'',
//
是否嚴(yán)格檢查字段是否存在
'fields_strict'
=
true,
//
數(shù)據(jù)集返回類型
'resultset_type'
=
'array',
//
自動寫入時間戳字段
'auto_timestamp'
=
false,
//
時間字段取出后的默認(rèn)時間格式
'datetime_format'
=
'Y-m-d
H:i:s',
//
是否需要進(jìn)行SQL性能分析
'sql_explain'
=
false,
//
Builder類
'builder'
=
'',
//
Query類
'query'
=
'\\think\\db\\Query',
//
是否需要斷線重連
'break_reconnect'
=
false,
//
斷線標(biāo)識字符串
'break_match_str'
=
[],
];
?
在控制器controller里面建一個控制文件Test.php
代碼如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')-select();
echo
json_encode($data);
}
}
?
最后調(diào)用入口文件即可訪問。
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend
FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。
您可能感興趣的文章:ThinkPHP實現(xiàn)多數(shù)據(jù)庫連接的解決方法tp5(thinkPHP5)框架實現(xiàn)多數(shù)據(jù)庫查詢的方法ThinkPHP3.1新特性之多數(shù)據(jù)庫操作更加完善tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2數(shù)據(jù)庫示例【基于thinkPHP5.1框架】thinkPHP5實現(xiàn)的查詢數(shù)據(jù)庫并返回json數(shù)據(jù)實例tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)thinkPHP5框架實現(xiàn)多數(shù)據(jù)庫連接,跨數(shù)據(jù)連接查詢操作示例
在php中如果要連接遠(yuǎn)程數(shù)據(jù)庫連接方法很簡單,只要把本地連接localhost或127.0.0.1改成指定遠(yuǎn)程服務(wù)器一IP地址或者直接域名即可。
語法
mysql_connect(servername,username,password);
例子
在下面的例子中,我們在一個變量中?($con)?存放了在腳本中供稍后使用的連接。如果連接失敗,將執(zhí)行?"die"?部分:
代碼如下:
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
//?some?code
?
上面是連接本地數(shù)據(jù)庫,下面把localhost改成遠(yuǎn)程IP即可了
實例 代碼如下:
$conn=mysql_connect('','root','123456888');
if(!$conn)?echo?"失敗!";
else?echo?"成功!";
//?從表中提取信息的sql語句
$sql="SELECT?*?FROM?user?where?userName='$user_name'";
//?執(zhí)行sql查詢
$result=mysql_db_query('info',?$sql,?$conn);
//?獲取查詢結(jié)果
$row=mysql_fetch_row($result);
mysql_close();
現(xiàn)在使用PDO鏈接數(shù)據(jù)庫的較多
連接是通過創(chuàng)建 PDO 基類的實例而建立的。不管使用哪種驅(qū)動程序,都是用 PDO 類名。構(gòu)造函數(shù)接收用于指定數(shù)據(jù)庫源(所謂的 DSN)以及可能還包括用戶名和密碼(如果有的話)的參數(shù)。
連接到 MySQL
?php
$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);
?
如果有任何連接錯誤,將拋出一個 PDOException 異常對象。如果想處理錯誤狀態(tài),可以捕獲異常,或者選擇留給通過 set_exception_handler() 設(shè)置的應(yīng)用程序全局異常處理程序。
處理連接錯誤
?php
try?{
$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);
foreach($dbh-query('SELECT?*?from?FOO')?as?$row)?{
print_r($row);
}
$dbh?=?null;
}?catch?(PDOException?$e)?{
print?"Error!:?"?.?$e-getMessage()?.?"br/";
die();
}
?
如果應(yīng)用程序不在 PDO 構(gòu)造函數(shù)中捕獲異常,zend 引擎采取的默認(rèn)動作是結(jié)束腳本并顯示一個回溯跟蹤,此回溯跟蹤可能泄漏完整的數(shù)據(jù)庫連接細(xì)節(jié),包括用戶名和密碼。因此有責(zé)任去顯式(通過 catch 語句)或隱式(通過 set_exception_handler() )地捕獲異常。
連接數(shù)據(jù)成功后,返回一個 PDO 類的實例給腳本,此連接在 PDO 對象的生存周期中保持活動。要想關(guān)閉連接,需要銷毀對象以確保所有剩余到它的引用都被刪除,可以賦一個 NULL 值給對象變量。如果不明確地這么做,PHP 在腳本結(jié)束時會自動關(guān)閉連接。
關(guān)閉一個連接
?php
$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);
//?在此使用連接
//?現(xiàn)在運行完成,在此關(guān)閉連接
$dbh?=?null;
?
很多 web 應(yīng)用程序通過使用到數(shù)據(jù)庫服務(wù)的持久連接獲得好處。持久連接在腳本結(jié)束后不會被關(guān)閉,且被緩存,當(dāng)另一個使用相同憑證的腳本連接請求時被重用。持久連接緩存可以避免每次腳本需要與數(shù)據(jù)庫回話時建立一個新連接的開銷,從而讓 web 應(yīng)用程序更快。