需要PHP基礎(chǔ)知識(shí)和數(shù)據(jù)庫基礎(chǔ)知識(shí)。
10年積累的做網(wǎng)站、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有建陽免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
以SQL為例。使用PHP MySQL 函數(shù)可以編輯數(shù)據(jù)庫。
mysql_connect() 函數(shù)打開MySQL 連接。舉例
?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}// 一些代碼...mysql_close($con);
?
mysql_connect()三個(gè)參數(shù)分別是服務(wù)器名,連接賬號(hào),連接密碼。
連接之后,可以使用mysql_select_db()設(shè)置要處理的數(shù)據(jù)庫,后面則是用數(shù)據(jù)庫語句處理數(shù)據(jù)。SQL語法簡介網(wǎng)頁鏈接
1、軟件配置
Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2數(shù)據(jù)庫,wamp2.2中的php版本是5.3.10。
Php環(huán)境也可以換成php+apache。
2、支持連接MySQL Server配置
php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以后的版本不支持。
2.1、php連接mssql設(shè)置(php5.3以前版本)
(1)、打開php.ini,將
;extension=php_mssql.dll前面的分號(hào)(;)去掉,然后重啟 Apache。如果不行的話,進(jìn)行第2步。
(2)檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從重新下載一個(gè)php安裝,要下載那個(gè)壓縮包的才是最完整的。
如果ext目錄下已經(jīng)有了php_mssql.dll,那么你需要打開php.ini,找到
extension_dir = "./ext"
這一句(或者類似的,不一定是"./ext",查找"extension_dir"即可),然后把"./ext"修改為你的php安裝目錄的ext目錄的完整路徑,比如"c:/php/ext",或者"c:/program files/php/ext"這樣。然后再次重啟 Apache。如果還是不行的話,可能就需要第3步了。
(3)把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 復(fù)制到 system32的系統(tǒng)目錄中去,然后重起Apache。
(4)然后就可以連接MSSQL,并進(jìn)行一些操作了。連接例子如下:
2.2、php連接sqlsrv(php5.3以及以上版本)
(1)、下載Microsoft Drivers for?PHP?for SQL Server,官方下載地址:,我使用的是SQLSRV2.0。
(2)、解壓下載下來的文件將php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件復(fù)制到php安裝目錄下的ext文件夾中。此處根據(jù)版本不同使用的文件不同。
(3)、在php.ini中添加
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
到很多;extension=***.dll語句后面,注意extension_dir 指向的位置是否正確。
(4)、重啟apache,然后訪問訪問地址/?Phpinfo=1,出現(xiàn)下面圖片中的內(nèi)容,則代表配置正確。
(5)、寫測(cè)試代碼,測(cè)試代碼如下:
?php
header("Content-type: text/html; charset=utf-8");
$serverName = "localhost"; //數(shù)據(jù)庫服務(wù)器地址$uid = "foodcert"; //數(shù)據(jù)庫用戶名$pwd = "foodcert"; //數(shù)據(jù)庫密碼$connectionInfo = array("UID"=$uid, "PWD"=$pwd, "Database"="FoodCert");
$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn == false)
{
echo "連接失??!";
die( print_r( sqlsrv_errors(), true));
}else{
echo "連接成功!"; ?
}
$query = sqlsrv_query($conn, "select * from 數(shù)據(jù)庫表");while($row = sqlsrv_fetch_array($query))
{
print_r($row);
}?
(6)、上面完成之后,測(cè)試代碼的時(shí)候會(huì)出現(xiàn)連接失敗,因?yàn)闆]有安裝sql server nation client ,本地客戶端,去下載合適的客戶端,我使用的是Microsoft? SQL Server? 2012 Native Client,下載地址:
(7)、安裝完成之后,在重新啟動(dòng)apache,然后訪問就可以連接成功了。
(8)、注意:在php.ini文件所在的文件夾中必須要有ntwdblib.dll文件存在。
首先創(chuàng)建 一個(gè)HTML頁面userinfo_add.php,在里面輸入表單,文本框,輸入需要提交的到數(shù)據(jù)庫的信息:
賬號(hào) 姓名 年齡
頁面運(yùn)行結(jié)果:
創(chuàng)建一個(gè)PHP文件(userinfo_insert.php),用來處理頁面請(qǐng)求的,就是具體往數(shù)據(jù)庫添加數(shù)據(jù)的代碼:
先獲取頁面數(shù)據(jù)
//通過post獲取頁面提交數(shù)據(jù)信息 $userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
接下來,在連接數(shù)據(jù)庫 ‘test’
//地址
$url = "127.0.0.1";
//賬號(hào)
$user = "root";
//密碼
$password = "root";
//連接
$con = mysql_connect($url,$user,$password);
//設(shè)置編碼機(jī)
mysql_query("set names 'utf8'");
//連接數(shù)據(jù)庫
mysql_select_db("test");
編寫SQL,執(zhí)行SQL添加數(shù)據(jù)
$sql = "insert into user_info (user_id,user_name,user_age) values('$userId','$userName','$userAge')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "添加一條記錄";
//關(guān)閉連接
mysql_close($con)
運(yùn)行結(jié)果前:
運(yùn)行結(jié)果后:
完整代碼:
數(shù)組吧,直接把數(shù)組轉(zhuǎn)字符串啊
implode() 函數(shù)返回由數(shù)組元素組合成的字符串。(適合一維數(shù)組)
$arr = array('Hello', 'World', 'I', 'love', 'Shanghai');
1 echo implode(" ",$arr);//加空格
the result : Hello World I love Shanghai
2 echo implode(",",$arr);//加逗號(hào)
the result : Hello,World,I,love,Shanghai
轉(zhuǎn)換數(shù)組為字符串后插入數(shù)據(jù)庫就可以了。
在一個(gè)服務(wù)器上一般來講都不止一個(gè)站點(diǎn),更不止一個(gè)MySQL(和PHP搭配之最佳組合)數(shù)據(jù)庫。
為了防止安全隱患,我們一般針對(duì)每個(gè)數(shù)據(jù)庫都設(shè)置了獨(dú)立的數(shù)據(jù)庫訪問帳號(hào),該帳號(hào)僅有訪問該數(shù)據(jù)庫的權(quán)限。下面就讓我們來具體演示一下:
1、首先我們要登陸php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin,不做演示。
2、創(chuàng)建一個(gè)數(shù)據(jù)庫,如下圖,在php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin右邊窗口中,填寫數(shù)據(jù)庫名稱,點(diǎn)創(chuàng)建即可。
例如我們這里創(chuàng)建一個(gè)名字為:cncmstest 的數(shù)據(jù)庫
創(chuàng)建成功會(huì)有如下提示:
3、點(diǎn)擊左上角的主頁按鈕,返回php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin主界面:
4、在主界面的右邊點(diǎn)擊“權(quán)限”來創(chuàng)建數(shù)據(jù)庫帳號(hào)。
5、在權(quán)限頁面中,我們點(diǎn)擊“添加新用戶”
6、在該頁面中,我們填寫要?jiǎng)?chuàng)建的數(shù)據(jù)庫用戶名,該用戶的訪問范圍,及密碼。
如上圖,我們填寫了用戶名為:cncmsuser,該數(shù)據(jù)庫用戶只允許本機(jī)訪問,主機(jī)一項(xiàng)選擇本地;密碼我們使用自動(dòng)生成的,點(diǎn)下面的“Generate”會(huì)生成一個(gè)隨機(jī)密碼,然后點(diǎn)“Copy”會(huì)自動(dòng)填寫到密碼框中。
下面的框都不選,直接拉到頁面最下面點(diǎn)執(zhí)行即可創(chuàng)建一個(gè)新用戶。
數(shù)據(jù)庫用戶創(chuàng)建成功,會(huì)返回如下頁面:
7、最重要的一步,設(shè)置該用戶的數(shù)據(jù)庫訪問權(quán)限
在數(shù)據(jù)庫用戶添加成功返回的頁面中可以直接設(shè)置權(quán)限。這里我們選擇按數(shù)據(jù)庫指定權(quán)限:
如上圖,在數(shù)據(jù)庫列表中選擇我們剛剛創(chuàng)建的cncmstest,即會(huì)自動(dòng)進(jìn)入該數(shù)據(jù)庫的權(quán)限設(shè)置頁面。
在上圖的權(quán)限設(shè)置中,我們把“數(shù)據(jù)”、“結(jié)構(gòu)”兩列的權(quán)限全部選中,管理權(quán)限都不要選。點(diǎn)執(zhí)行即可。
到這里,我們已經(jīng)全部設(shè)置完畢了,創(chuàng)建了一個(gè)數(shù)據(jù)庫:cncmstest,并創(chuàng)建了數(shù)據(jù)庫用戶cncmsuser,特別指定了該用戶只對(duì)cncmstest的訪問權(quán)限。如此,便達(dá)到了我們一開始所講的目的:為每一個(gè)數(shù)據(jù)庫指定獨(dú)立的用戶訪問權(quán)限。
把來自表單的數(shù)據(jù)插入數(shù)據(jù)庫
現(xiàn)在,我們創(chuàng)建一個(gè) HTML 表單,這個(gè)表單可把新記錄插入 "Persons" 表。
這是這個(gè) HTML 表單:
1
2
3
4
5
6
7
8
9
10
11
12
html
body
form action="insert.php" method="post"
Firstname: input type="text" name="firstname" /
Lastname: input type="text" name="lastname" /
Age: input type="text" name="age" /
input type="submit" /
/form
/body
/html
當(dāng)用戶點(diǎn)擊上例中 HTML 表單中的提交按鈕時(shí),表單數(shù)據(jù)被發(fā)送到 "insert.php"。"insert.php" 文件連接數(shù)據(jù)庫,并通過 $_POST 變量從表單取回值。然后,mysql_query() 函數(shù)執(zhí)行 INSERT INTO 語句,一條新的記錄會(huì)添加到數(shù)據(jù)庫表中。
下面是 "insert.php" 頁面的代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?
分享名稱:怎么在php中添加數(shù)據(jù)庫 php數(shù)據(jù)表里怎么添加數(shù)據(jù)
當(dāng)前網(wǎng)址:http://aaarwkj.com/article32/docpepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、靜態(tài)網(wǎng)站、建站公司、、定制開發(fā)、定制網(wǎng)站
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)