php數(shù)據(jù)庫(kù)操作主要分為5個(gè)步驟:1連接MYSQL
創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)梁子湖,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220
2連接到你的數(shù)據(jù)庫(kù)
3寫SQL語(yǔ)句
4運(yùn)行sql語(yǔ)句
5關(guān)閉數(shù)據(jù)庫(kù)
//第一步
$con
=
mysql_connect("localhost","root","123456789");
//第二步
mysql_select_db('rankingme',$conn);
//第三步
$sql="insert
into
lili
(name,sex,et,hobby,photo,tel,address,content,time)
values
($name,$sex,$et,$hobby,$photo,$tel,$address,$content,$time)"
//第四步
mysql_query($sql);
//第五步
mysql_close($con);
index.php?action=add
意思是你在index.php中,可以用$_GET["action"]取到"add"這個(gè)字符串。
index.php
?php
if($_GET["action"]=="add")
{
//
//這里做數(shù)據(jù)處理,比如數(shù)據(jù)庫(kù)插入操作
//
}
?
!--提交留言的表單--
form action="?action=add" method="post" id="myform"
input type="text" name="title" value="" /
textarea name="content" id="content"/textarea
input type="submit" name="submit" value="提交" /
/form
1. 嘗試設(shè)置一個(gè)頁(yè)面模板
1)拷貝一個(gè)index.php并改名為其它名,如list.php;
2)在list.php頁(yè)面最頂部添加
?php /*
Template Name: 友鏈
*/
?
以上兩步就可以創(chuàng)建一個(gè)頁(yè)面模板了,修改并保存好這個(gè)文件后,創(chuàng)建一個(gè)新頁(yè)面或者修改已存在的頁(yè)面。在右下邊有個(gè)“頁(yè)面模板”的面板,在下拉菜單中選中“友鏈”后保存就可以了。
然后在頁(yè)面中添加任何內(nèi)容,包括html代碼就可以顯示了??墒俏业男枨笫且约和瓿蒔HP代碼獲取數(shù)據(jù)并展示,它不能這么做。
2. 調(diào)用 WordPress 的 API實(shí)現(xiàn)URL正確跳轉(zhuǎn)
這種方法的自由度較高,并且可以創(chuàng)建非WordPress格式的URL。比如我們要把 轉(zhuǎn)交給主題文件夾下的 /custom/list.php 來(lái)處理,就可以用這種方式來(lái)處理。這種方法用到 template redirect 鉤子,template redirect 是 WordPress 在預(yù)處理好所有參數(shù)設(shè)置之后決定調(diào)用主題模板的時(shí)候調(diào)用的。
在functions.php模板函數(shù)文件中添加以下實(shí)例代碼:
function loadCustomTemplate($template) {
global $wp_query;
if(!file_exists($template))return;
$wp_query-is_page = true;
$wp_query-is_single = false;
$wp_query-is_home = false;
$wp_query-comments = false;
// if we have a 404 status
if ($wp_query-is_404) {
// set status of 404 to false
unset($wp_query-query["error"]);
$wp_query-query_vars["error"]="";
$wp_query-is_404=false;
}
// change the header to 200 OK
header("HTTP/1.1 200 OK");
//load our template
include($template);
exit;
}
function templateRedirect() {
$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");
}
add_action('template_redirect', 'templateRedirect');
這樣就實(shí)現(xiàn)了 WordPress 查找 /custom 文件夾下的 php 文件,并且將相匹配的 URL 請(qǐng)求轉(zhuǎn)交給對(duì)應(yīng)的 php 文件來(lái)處理的效果,與此同時(shí),這個(gè) php 文件還保持了對(duì) WordPress API 的調(diào)用,因此留給我們的空間非常大。
接下來(lái)就可以在 /custom 文件夾下自定義一個(gè)list.php文件然后通過(guò)鏈接訪問。
3. 添加頁(yè)面內(nèi)容,獲取自定義數(shù)據(jù)庫(kù)/表中的內(nèi)容
然后就可以根據(jù)需要自己需要來(lái)實(shí)現(xiàn)自己想要的功能,這里需要有以下幾點(diǎn)要處理:
1)如何操作數(shù)據(jù)庫(kù)
WordPress提供了一個(gè)全局變量$wpdb,并將其實(shí)例化為wpdb類的對(duì)象。這樣我們就可以直接使用$wpdb來(lái)調(diào)用所有的數(shù)據(jù)庫(kù)操作函數(shù)。通過(guò)這個(gè)$wpdb對(duì)象,我們可以對(duì)WordPress數(shù)據(jù)庫(kù)進(jìn)行任何操作,包括建表、查詢、刪除、更新等。使用$wpdb-get_results實(shí)現(xiàn)執(zhí)行sql語(yǔ)句操作數(shù)據(jù)庫(kù),并獲取結(jié)果。
global $wpdb;
$sql= "SELECT * FROM ".$wpdb-prefix.table;
$a = $wpdb-get_results($sql);
2)使用wordpress的樣式
通過(guò)F12查看首頁(yè)代碼就可以發(fā)現(xiàn)只要使用對(duì)應(yīng)的class樣式就能輕松讓頁(yè)面統(tǒng)一規(guī)整。那么就把對(duì)應(yīng)的html添加到自定義PHP頁(yè)面中即可。
3)利用wordpress的規(guī)則輕松實(shí)現(xiàn)翻頁(yè)
wordpress已經(jīng)默認(rèn)支持翻頁(yè),格式如:,只要在自定義的頁(yè)面里面定義好每頁(yè)返回正確的內(nèi)容就好啦。
4. 設(shè)置nginx rewrite規(guī)則
可讀性強(qiáng)的URL一定不能是這樣的格式,對(duì)爬蟲也不友好,那就需要配置好rewrite規(guī)則,我使用的是nginx的配置為:
rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;
到現(xiàn)在為止,離成功只有一步之遙了,那就是新建一個(gè)頁(yè)面, 大功告成!
php操作mysql步驟:
1.$connect=mysql_connect('localhost','root','123456')
or
die('數(shù)據(jù)庫(kù)連接失敗。'mysql_error());鏈接mysql。
2.mysql_select_db('database',$connect)選擇鏈接的數(shù)據(jù)庫(kù)。
3.mysql_query('Set
names
gb2312');$sql
=
"select
*
from
blog_article";準(zhǔn)備要查詢的數(shù)據(jù)。
4.$datas
=
mysql_query($sql);執(zhí)行sql查詢。
5.$data
=
mysql_fetch_assoc($datas)得到查詢到的緩存在內(nèi)存中的一條數(shù)據(jù)。
6.print_r($data);
相同點(diǎn):三個(gè)函數(shù)都是返回?cái)?shù)據(jù)庫(kù)中查詢到的一行數(shù)據(jù)(說(shuō)的再清楚點(diǎn)就是一條數(shù)據(jù))。
不同點(diǎn):mysql_fetch_assoc()用的是數(shù)據(jù)庫(kù)中相應(yīng)的字段名作為的key值(也就是數(shù)組下標(biāo))
如:filed['id']=1;
mysql_fetch_row()用的是自動(dòng)生成的數(shù)字(從0開始依次生成)作為的key值(也就是數(shù)組下標(biāo))
如:filed[0]=1;
mysql_fetch_array()用的是自動(dòng)生成的數(shù)字(從0開始依次生成)作為的key值(也就是數(shù)組下標(biāo)),而且它還同時(shí)生成數(shù)據(jù)庫(kù)中相應(yīng)的字段名作為的key值(也就是數(shù)組下標(biāo))
如:
filed[0]=1,filed['id']=1;也就是說(shuō),mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢到的結(jié)果合為了一體了。
mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數(shù)組。mysql_fetch_object()返回的是object對(duì)象。
mysql_insert_id() 取得上一步
INSERT
操作產(chǎn)生的
ID。
mysql_result()
函數(shù)返回結(jié)果集中一個(gè)字段的值。
mysql_num_fields()
函數(shù)返回結(jié)果集中字段的數(shù)目。
mysql_affected_rows();返回前一次
MySQL
操作所影響的記錄行數(shù)。
mysql_num_rows(mysql_query($sql))獲得結(jié)果集中行的數(shù)目。
mysql_pconnect()
函數(shù)打開一個(gè)到
MySQL
服務(wù)器的持久連接。
mysql_pconnect()
和
mysql_connect()
非常相似,但有兩個(gè)主要區(qū)別:
1.
當(dāng)連接的時(shí)候本函數(shù)將先嘗試尋找一個(gè)在同一個(gè)主機(jī)上用同樣的用戶名和密碼已經(jīng)打開的(持久)連接,如果找到,則返回此連接標(biāo)識(shí)而不打開新連接。
2.
其次,當(dāng)腳本執(zhí)行完畢后到
SQL
服務(wù)器的連接不會(huì)被關(guān)閉,此連接將保持打開以備以后使用(mysql_close()
不會(huì)關(guān)閉由
mysql_pconnect()
建立的連接)。
mysql_data_seek(mysql_query($sql),8);獲得結(jié)果集中的第8條數(shù)據(jù)。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會(huì)緩存查詢的結(jié)果。
mysql_close();關(guān)閉mysql的最近的鏈接。
mysql_field_flags(mysql_query($sql),6)返回第六個(gè)字段的表屬性輸出如:not_null
primary_key
auto_increment
。
mysql_fetch_lengths(mysql_query($sql))返回該條數(shù)據(jù)的所有字段的每個(gè)字段的長(zhǎng)度。返回的是一個(gè)數(shù)字組成的數(shù)組。
mysql_field_name(mysql_query($sql),3)返回第三個(gè)字段的字段名。
mysql_field_table(mysql_query($sql),0)返回指定字段所在的表名。
mysql_free_result(mysql_query($sql))
函數(shù)釋放結(jié)果內(nèi)存。
mysql_get_client_info()
函數(shù)返回
MySQL
客戶端信息。
mysql_get_host_info()
取得
MySQL
主機(jī)信息。
1.鏈接數(shù)據(jù)庫(kù)所在的服務(wù)器 mysql_connect 如:mysql_connect("127.0.0.1","root","111111") or die("未能鏈接上");
2.選擇數(shù)據(jù)庫(kù) mysql_select _db($db) or die("數(shù)據(jù)庫(kù)鏈接錯(cuò)誤!")
3.建立資源標(biāo)識(shí)符 $r= mysql_query($sql)
4.讀出 mysql_fetch_rows($r),mysql_fetch_assoc($r)
如:if(mysql_num_rows($r)0){
while($rows=mysql_fetch_assoc($r)){
echo $rows["id"]."-".$rows["name"];
}
}
5.釋放資源 mysql_query($r);
1、操作數(shù)據(jù)庫(kù)前現(xiàn)在后臺(tái) 擴(kuò)展-》數(shù)據(jù)庫(kù)工具 進(jìn)行備份數(shù)據(jù),養(yǎng)成好習(xí)慣
2、后臺(tái)沒有直接去操作數(shù)據(jù)庫(kù)的選項(xiàng),只有增刪改具體的內(nèi)容
3、需要操作數(shù)據(jù)庫(kù)可以下載一個(gè)phpmyadmin操作或者下載一個(gè)navicat鏈接到數(shù)據(jù)庫(kù)遠(yuǎn)程操作