方法/:

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),亞東網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:亞東等地區(qū)。亞東做網(wǎng)站價(jià)格咨詢:028-86922220
1、數(shù)據(jù)庫連接第一步:配置mysql_connect()的參數(shù),參數(shù)依次為:主機(jī)地址,用戶名,用戶密碼;
2、mysql_pconnect()與mysql_connect()是不一樣的,pconnect顧名思義是持久連接;
3、服務(wù)器連接成功后,需要選擇需要用的數(shù)據(jù)庫;
4、使用mydql_close()可以關(guān)閉數(shù)據(jù)庫連接資源,避免長時(shí)間占用啟用資源消耗;
5、mysqli_connect( )是mysql連接的另一種方式,參數(shù)形式一樣;
6、首次使用mysql連接數(shù)據(jù)庫時(shí),要記得使用輸入邏輯判斷,服務(wù)器連接不成功或者選擇數(shù)據(jù)庫不成功,都要用Mysql_error或者mysql_errno來報(bào)錯(cuò);
7、mysql的報(bào)錯(cuò),能夠幫助準(zhǔn)確地定位到錯(cuò)誤發(fā)生在哪里。
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫;
檢查php環(huán)境是否已開啟mysql擴(kuò)展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒有mysql項(xiàng);b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫主機(jī)地址
$host="localhost";
//定義mysql數(shù)據(jù)庫登錄用戶名
$user="root";
//定義mysql數(shù)據(jù)庫登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫
$conn = mysql_connect($host,$user,$pwd);
//對連接進(jìn)行判斷
if(!$conn){
die("數(shù)據(jù)庫連接失敗!".mysql_errno());
}else{
echo "數(shù)據(jù)庫連接成功!";
}
?
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫;
檢查php環(huán)境是否已開啟mysql擴(kuò)展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒有mysql項(xiàng);b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫主機(jī)地址
$host="localhost";
//定義mysql數(shù)據(jù)庫登錄用戶名
$user="root";
//定義mysql數(shù)據(jù)庫登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫
$conn = mysql_connect($host,$user,$pwd);
//對連接進(jìn)行判斷
if(!$conn){
die("數(shù)據(jù)庫連接失敗!".mysql_errno());
}else{
echo "數(shù)據(jù)庫連接成功!";
}
?
創(chuàng)建conn.php,連接數(shù)據(jù)庫。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.連接數(shù)據(jù)庫,創(chuàng)建PDO對象
$pdo = new PDO($dns,$username,$password);
創(chuàng)建login.html,登陸頁面。
用戶名
密 碼
創(chuàng)建login.php,驗(yàn)證賬號密碼。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("錯(cuò)誤執(zhí)行");
}//檢測是否有submit操作
include('conn.php');//鏈接數(shù)據(jù)庫
$name = $_POST['name'];//post獲得用戶名表單值
$pwd = sha1($_POST['password']);//post獲得用戶密碼單值
if ($name $pwd){//如果用戶名和密碼都不為空
$sql = "select * from user where username = '$name' and password='$pwd'";//檢測數(shù)據(jù)庫是否有對應(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頁面
exit;
}else{
echo "用戶名或密碼錯(cuò)誤";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果錯(cuò)誤使用js 1秒后跳轉(zhuǎn)到登錄頁面重試;
}
}else{//如果用戶名或密碼有空
echo "表單填寫不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果錯(cuò)誤使用js 1秒后跳轉(zhuǎn)到登錄頁面重試;
}
$pdo = null;
創(chuàng)建signup.html,注冊頁面
用戶名:
密 碼:
創(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ù)庫
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向數(shù)據(jù)庫插入表單傳來的值的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
$stmt-fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt-getMessage());//如果sql執(zhí)行失敗輸出錯(cuò)誤
}else{
echo "注冊成功";//成功輸出注冊成功
}
$pdo = null;//關(guān)閉數(shù)據(jù)庫
首先打開DW,找到數(shù)據(jù)庫 選項(xiàng)卡:
這里是說,要完成連接數(shù)據(jù)庫操作 需要完成3步。那么好,我們按步驟來做:
1、搞定創(chuàng)建站點(diǎn)
點(diǎn)擊藍(lán)色“站點(diǎn)”,彈出如下界面
站點(diǎn)命名
服務(wù)器技術(shù)
編輯和測試文件存放位置,我們都在本地開發(fā)的,所以都在本地文件存在的位置就選你網(wǎng)站代碼的位置
定義瀏覽器打開預(yù)覽時(shí)url路徑,我這里是:,注意這個(gè)路徑一定是可以訪問的路徑,就是在瀏覽器中能打開,否則4步的mysql會報(bào)連接不成功的操作
是否共享文件,這個(gè)是用來團(tuán)隊(duì)開發(fā)的,點(diǎn)否
OK,下一步,完成,收功。這樣我們就完成了第一步,多出來一個(gè)√,增加了一個(gè)第四步。
2、搞定文檔類型
點(diǎn)擊藍(lán)色“文檔類型”,彈出如下界面
我們用的PHP,這里選擇PHP
完成,ok,第二步搞定。看又多出一個(gè)√。
3、搞定測試服務(wù)器
點(diǎn)擊藍(lán)色“測試服務(wù)器”,彈出如下界面
顯示我們第一步已經(jīng)配置過的內(nèi)容,直接點(diǎn)確認(rèn)
完成,ok,但是并沒有按照預(yù)想多出一個(gè)√,沒事,繼續(xù)。
4、創(chuàng)建MYSQL連接
點(diǎn)擊上圖紅色箭頭指的+,出來Mysql連接,點(diǎn)擊,彈出如下界面
依次輸入你本地的信息,如我這里輸入的
然后點(diǎn)選取,彈出你的數(shù)據(jù)庫,選擇你的項(xiàng)目news所用的數(shù)據(jù)庫。確定,確定,ok,完成。
PHP和MySQL被稱為黃金搭檔,幾乎所有的基于PHP應(yīng)用的項(xiàng)目都在使用MySQL,在PHP中,連接MySQL數(shù)據(jù)庫十分簡單,簡單到只需要一個(gè)函數(shù)函數(shù)即可:
mysql_connect($host,$username,$password)
它有三個(gè)參數(shù),分別是數(shù)據(jù)庫主機(jī)名,數(shù)據(jù)庫用戶名,數(shù)據(jù)庫用戶密碼。
如果我們的數(shù)據(jù)庫在本地,那么數(shù)據(jù)庫主機(jī)名可寫為127.0.0.1。例如,我們可以使用這個(gè)方法連接數(shù)據(jù)庫:
$con=mysql_connect('127.0.0.1','user','123456') or die("服務(wù)器連接失敗!");
mysql_select_db('test',$con);
mysql_query("set names 'gb2312'");
三行代碼就實(shí)現(xiàn)了連接MySQL數(shù)據(jù)庫。在上面例子中,mysql_select_db()表示選擇數(shù)據(jù)庫,上例表示連接test數(shù)據(jù)庫,其中set names 'gb2312'表示設(shè)置數(shù)據(jù)庫讀取的編碼為gb2312。
如果數(shù)據(jù)庫的用戶名和密碼錯(cuò)誤,頁面上自動會提示“服務(wù)器連接失敗”。
一般的,我們在做OOP的開發(fā)當(dāng)中,習(xí)慣上把PHP連接數(shù)據(jù)庫的部分,寫在一個(gè)單獨(dú)的類中。例如:
class cls_mysql
{
protected $link_id;
public function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'utf8')//構(gòu)造函數(shù)
{
if(!($this-link_id = mysql_connect($dbhost, $dbuser, $dbpw)))
{
$this-ErrorMsg("Can't pConnect MySQL Server($dbhost)!");
}
mysql_query("SET NAMES " . $charset, $this-link_id);//設(shè)置編碼
if ($dbname)
{
if (mysql_select_db($dbname, $this-link_id) === false )
{
$this-ErrorMsg("Can't select MySQL database($dbname)!");
return false;
}
else
{
return true;
}
}
}
public function select_database($dbname)//選擇數(shù)據(jù)庫
{
return mysql_select_db($dbname, $this-link_id);
}
public function fetch_array($query, $result_type = MYSQL_ASSOC)//得到遍歷后的數(shù)據(jù),是一個(gè)數(shù)組形式
{
return mysql_fetch_array($query, $result_type);
}
public function query($sql)//執(zhí)行查詢
{
return mysql_query($sql, $this-link_id);
}
public function affected_rows()//得到影響的記錄集數(shù)
{
return mysql_affected_rows($this-link_id);
}
public function num_rows($query)//獲得查詢的記錄數(shù)
{
return mysql_num_rows($query);
}
public function insert_id()
{
return mysql_insert_id($this-link_id);//獲得插入的id
}
public function selectLimit($sql, $num, $start = 0)
{
if ($start == 0)
{
$sql .= ' LIMIT ' . $num;
}
else
{
$sql .= ' LIMIT ' . $start . ', ' . $num;
}
return $this-query($sql);
}
public function getOne($sql, $limited = false)//獲取一條記錄
{
if ($limited == true)
{
$sql = trim($sql . ' LIMIT 1');
}
$res = $this-query($sql);
if ($res !== false)
{
$row = mysql_fetch_row($res);
return $row[0];
}
else
{
return false;
}
}
public function getrow($sql)
{
$res = $this-query($sql);
if ($res !== false)
{
return mysql_fetch_assoc($res);
}
else
{
return false;
}
}
public function getAll($sql)
{
$res = $this-query($sql);
if ($res !== false)
{
$arr = array();
while ($row = mysql_fetch_assoc($res))
{
$arr[] = $row;
}
return $arr;
}
else
{
return false;
}
}
function ErrorMsg($message = '', $sql = '')
{
if ($message)
{
echo "berror info/b: $message\n\n";
}
else
{
echo "bMySQL server error report:";
print_r($this-error_message);
}
exit;
}
}
當(dāng)前題目:php怎樣新建數(shù)據(jù)庫連接 php怎么添加數(shù)據(jù)庫
標(biāo)題鏈接:http://chinadenli.net/article24/hijcje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)站營銷、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)