創(chuàng)建conn.php,連接數(shù)據(jù)庫(kù)。

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、杭錦網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為杭錦等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.連接數(shù)據(jù)庫(kù),創(chuàng)建PDO對(duì)象
$pdo = new PDO($dns,$username,$password);
創(chuàng)建login.html,登陸頁(yè)面。
用戶名
密 碼
創(chuàng)建login.php,驗(yàn)證賬號(hào)密碼。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("錯(cuò)誤執(zhí)行");
}//檢測(cè)是否有submit操作
include('conn.php');//鏈接數(shù)據(jù)庫(kù)
$name = $_POST['name'];//post獲得用戶名表單值
$pwd = sha1($_POST['password']);//post獲得用戶密碼單值
if ($name $pwd){//如果用戶名和密碼都不為空
$sql = "select * from user where username = '$name' and password='$pwd'";//檢測(cè)數(shù)據(jù)庫(kù)是否有對(duì)應(yīng)的username和password的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
if($stmt-fetch(PDO::FETCH_BOUND)){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳轉(zhuǎn)至welcome.html頁(yè)面
exit;
}else{
echo "用戶名或密碼錯(cuò)誤";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果錯(cuò)誤使用js 1秒后跳轉(zhuǎn)到登錄頁(yè)面重試;
}
}else{//如果用戶名或密碼有空
echo "表單填寫不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果錯(cuò)誤使用js 1秒后跳轉(zhuǎn)到登錄頁(yè)面重試;
}
$pdo = null;
創(chuàng)建signup.html,注冊(cè)頁(yè)面
用戶名:
密 碼:
創(chuàng)建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("錯(cuò)誤執(zhí)行");
}//判斷是否有submit操作
$name=$_POST['name'];//post獲取表單里的name
$pwd = sha1($_POST['password']);//post獲取表單里的password
include('conn.php');//鏈接數(shù)據(jù)庫(kù)
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向數(shù)據(jù)庫(kù)插入表單傳來(lái)的值的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
$stmt-fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt-getMessage());//如果sql執(zhí)行失敗輸出錯(cuò)誤
}else{
echo "注冊(cè)成功";//成功輸出注冊(cè)成功
}
$pdo = null;//關(guān)閉數(shù)據(jù)庫(kù)
$mysql_host="localhost";??地址
$mysql_user="root";???????用戶名
$mysql_password="123";????密碼
$mysql_database="001online";???數(shù)據(jù)庫(kù)名
$conn=mysql_connect("$mysql_host","$mysql_user","$mysql_password");
if(!$conn){?die("連接數(shù)據(jù)庫(kù)失敗:"?.?mysql_error());}
mysql_select_db("$mysql_database",$conn);
mysql_query("set?character?set?'utf-8'");
mysql_query("set?names?'utf-8'");
1、檢查環(huán)境正常
使用mysql -u root -p 可以進(jìn)入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php執(zhí)行可以連上數(shù)據(jù)庫(kù)
2、打開hosts加入
復(fù)制代碼代碼如下:127.0.0.1 qttc
使用qttc當(dāng)主機(jī)連接也正常,唯獨(dú)就不認(rèn)localhost。
3、localhost連接方式不同導(dǎo)致
為了了解PHP連接數(shù)據(jù)庫(kù)時(shí),主機(jī)填寫localhost與其它的區(qū)別閱讀了大量資料,最后得知:
當(dāng)主機(jī)填寫為localhost時(shí)mysql會(huì)采用 unix domain socket連接
當(dāng)主機(jī)填寫為127.0.0.1時(shí)mysql會(huì)采用tcp方式連接
這是linux套接字網(wǎng)絡(luò)的特性,win平臺(tái)不會(huì)有這個(gè)問(wèn)題
4、解決方法
在my.cnf的[mysql]區(qū)段里添加
復(fù)制代碼代碼如下:
protocol=tcp
保存重啟MySQL,問(wèn)題解決!
PHP鏈接數(shù)據(jù)庫(kù)有幾種方式
mysqli:
?php?
$servername?=?"localhost";?
$username?=?"username";?
$password?=?"password";?
//?創(chuàng)建連接?
$conn?=?new?mysqli($servername,?$username,?$password);?
//?檢測(cè)連接?
if?($conn-connect_error)?{
die("連接失敗:?"?.?$conn-connect_error);?
}?
echo?"連接成功";?
?
也可以使用PDO進(jìn)行鏈接,前提是你必須在php.ini中開啟PDO:
?php
$servername?=?"localhost";
$username?=?"username";
$password?=?"password";
try?{
$conn?=?new?PDO("mysql:host=$servername;dbname=myDB",?$username,?$password);
echo?"連接成功";?
}
catch(PDOException?$e)
{
echo?$e-getMessage();
}
?
建議使用PDO,功能更加強(qiáng)大,兼容各種數(shù)據(jù)庫(kù)
用ASP連接各種數(shù)據(jù)庫(kù)的方法
一、ASP的對(duì)象存取數(shù)據(jù)庫(kù)方法
在ASP中,用來(lái)存取數(shù)據(jù)庫(kù)的對(duì)象統(tǒng)稱ADO(Active Data Objects),主要含有三種對(duì)象:Connection、Recordset 、Command
Connection:負(fù)責(zé)打開或連接數(shù)據(jù)
Recordset:負(fù)責(zé)存取數(shù)據(jù)表
Command:負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)執(zhí)行行動(dòng)查詢命令
二、連接各數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序
連接各數(shù)據(jù)庫(kù)可以使用驅(qū)動(dòng)程序,也可以使用數(shù)據(jù)源,不過(guò)我建議大家使用驅(qū)動(dòng)程序,因?yàn)槭褂抿?qū)動(dòng)程序非常方便、簡(jiǎn)單,而使用數(shù)據(jù)源比較麻煩。
ODBC鏈接
適合數(shù)據(jù)庫(kù)類型 鏈接方式
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;"
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
OLEDB鏈接
適合的數(shù)據(jù)庫(kù)類型 鏈接方式
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;"
Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;"
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties′text;FMT=Delimited′"
而我們?cè)谝话闱闆r下使用Access的數(shù)據(jù)庫(kù)比較多,在這里我建議大家連接Access數(shù)據(jù)庫(kù)使用下面的方法:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" "data source = " server.mappath("../db/bbs.mdb")
其中../db/bbs.mdb是你的數(shù)據(jù)庫(kù)存放的相對(duì)路徑!如果你的數(shù)據(jù)庫(kù)和ASP文件在同一目錄下,你只要這樣寫就可以了:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" "data source = " server.mappath("bbs.mdb")
有許多初學(xué)者在遇到數(shù)據(jù)庫(kù)連接時(shí)總是會(huì)出問(wèn)題,然而使用上面的驅(qū)動(dòng)程序只要你的數(shù)據(jù)庫(kù)路徑選對(duì)了就不會(huì)出問(wèn)題了。
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫(kù);
檢查php環(huán)境是否已開啟mysql擴(kuò)展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒(méi)有mysql項(xiàng);b.打開php.ini文件,檢查php_mysql.dll前分號(hào)是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫(kù)主機(jī)地址
$host="localhost";
//定義mysql數(shù)據(jù)庫(kù)登錄用戶名
$user="root";
//定義mysql數(shù)據(jù)庫(kù)登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫(kù)
$conn = mysql_connect($host,$user,$pwd);
//對(duì)連接進(jìn)行判斷
if(!$conn){
die("數(shù)據(jù)庫(kù)連接失敗!".mysql_errno());
}else{
echo "數(shù)據(jù)庫(kù)連接成功!";
}
?
網(wǎng)站標(biāo)題:php注冊(cè)數(shù)據(jù)庫(kù)的連接,php怎么連接數(shù)據(jù)庫(kù)mysql
URL網(wǎng)址:http://chinadenli.net/article43/dseddes.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)