最簡單的例子就是:
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
連線機my sql資料庫,開啟shop資料庫。在實際應用中應當加強點錯誤判斷。
學會讀取資料
先看兩個函式:
1、mysql_query
送出乙個 query 字串。 語法: int mysql_query(string query, int [link_identifier]); 返回值: 整數
本函式送出 query 字串供 mysql 做相關的處理或者執行。若沒有指定 link_identifier 引數,則程式會自動尋找最近開啟的 id。當 query 查詢字串是 update、insert 及 delete 時,返回的可能是 true 或者 false;查詢的字串是 select 則返回新的 id 值,當返回 false 時,並不是執行成功但無返回值,而是查詢的字串有錯誤。
2、mysql_fetch_object 返回類資料。 語法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 類
本函式用來將查詢結果 result 拆到類變數中。若 result 沒有資料,則返回 false 值。
看乙個簡單的例子:
<?
$exec="select * from user";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
?>
當然,表user中有乙個username的字段,這就類似asp中的
<%
exec="select * from user"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
do while not rs.eof
response.write "username:"&rs("username")&"
"rs.movenext
loop
%>
當然先要連線資料庫,一般我們 require_once('conn.php');而conn.php裡面就是上一次說的連線資料庫的**。
小小的兩條命令可以完成讀取資料的工作了
學會新增刪除修改資料
mysql_query($exec);
單這個語句就可以執行所有的操作了,不同的就是$exec這個sql語句
新增:$exec="insert into tablename (item1,item2) values ('".$_post['item1']."',".$_post['item1'].")";
刪除:$exec="delete from tablename where...";
修改:$exec="update tablename set item1='".$_post['item1']."' where ...";
說到這裡就要說一下表單和php變數傳遞,如果表單中的乙個
表單以post提交的,那麼處理表單檔案就可以用$_post['item1']得到變數值,同樣以get提交的就是$_get['item1']
是不是很簡單?但是通常$exec會有問題,因為可能您的sql語句會很長,您會遺漏.連線符,或者'來包圍字元型字段。
我們可以注釋mysql_query($exec);語句用echo $exec;代替來輸出$exec以檢查正確性。如果您還不能察覺$exec有什麼錯誤的話,可以複製這個sql語句到phpmyadmin中執行,看看它的出錯資訊。還有需要注意的是,我們不要使用一些敏感的字串作為欄位名字,否則很可能會出現問題,比如說date什麼的。變數的命名,欄位的命名遵循一點規律有的時候對自己是一種好處,初學者並不可忽視其重要性。
學會session的使用
session的作用很多,最多用的就是站點內頁面間變數傳遞。
在頁面開始我們要session_start();開啟session;
然後就可以使用session變數了,比如說要賦值就是:$_session['item']="item1";要得到值就是$item1=$_session['item'];,很簡單吧。這裡我們可能會使用到一些函式,比如說判斷是不是某session變數為空,可以這麼寫:empty($_session['inum'])返回true or false。
下面綜合一下前面所說的我們來看乙個登陸程式,判斷使用者名稱密碼是否正確。
登陸表單是這樣:login.php
處理檔案是這樣
<?
require_once('conn.php');
session_start();
$username=$_post['username'];
$password=$_post['password'];
$exec="select * from admin where username='".$username."'";
if($result=mysql_query($exec))
else
}else
}else
?>
conn.php是這樣:
<?
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
?>
由於 $_session['adminname']=$username;我們可以這樣寫驗證是否登陸語句的檔案:checkadmin.php
<?
session_start();
if($_session['adminname']=='')
?>
做乙個分頁顯示
關鍵就是用到了sql語句中的limit來限定顯示的記錄從幾到幾。我們需要乙個記錄當前頁的變數$page,還需要總共的記錄數$num
對於$page如果沒有我們就讓它=0,如果有<0就讓它也=0,如果超過了總的頁數就讓他=總的頁數。
$execc="select count(*) from tablename ";
$resultc=mysql_query($execc);
$rsc=mysql_fetch_array($resultc);
$num=$rsc[0];
這樣可以得到記錄總數
ceil($num/10))如果一頁10記錄的話,這個就是總的頁數
所以可以這麼寫
if(empty($_get['page']))
else
這樣$exec可以這麼寫 $exec="select * from tablename limit ".($page*10).",10";
//一頁是10記錄的
最後我們需要做的就是幾個連線:
firstpage
">prevpage
">nextpage
">lastpage
注意事項
1、注意不要漏了分號
2、注意不要漏了變數前的$
3、使用session的時候注意不要遺漏session_start();
如果發生錯誤的時候,可以採用以下方法:
1、如果是sql語句出錯,就注釋了然後輸出sql語句,注意也要注釋調後續的執行sql語句
2、如果是變數為空,大多是沒有傳遞到位,輸出變數檢查一下,檢查一下表單的id和name
3、如果是資料庫連線出錯,檢查是否正確開啟my sql和是否遺漏了連線語句
4、注意縮排,排除括號不區配的錯誤
在做大**的時候,我的思路是先構建資料庫,確定每乙個欄位的作用,和表之間的關係。然後設計後台介面,從新增資料開始做起,因為新增是否成功可以直接到資料庫裡面驗證,做好了新增再做顯示的頁面,最後才是兩者的結合。一般來說後台就包括新增刪除修改和顯示,後台沒有問題了,前台也沒有什麼大問題。前台還需要注意安全性和容錯還有就是輸出格式。
學會用php上傳檔案和發郵件
上傳檔案表單必須加上 enctype="multipart/form-data"
和 下面看一下**:
$dest_dir='uploads';//設定上傳目錄
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我這裡設定檔名為日期加上檔名避免重複
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//設定上傳的檔案的屬性
上傳的檔名為date("ymd")."_".$f['name'] ,可以在以後插入到資料庫的時候用到,php實際上是把你上傳的檔案從臨時目錄移動到指定目錄。move_uploaded_file($f['tmp_name'],$dest);這是關鍵
至於發郵件就更加簡單,可以使用mail()函式
mail("收件人位址","主題","正文","from:發件人\r\nreply-to:發件人的位址");
不過mail()需要伺服器的支援,在windows下還需要配置smtp伺服器,一般來說外面的linux空間都行。
好像上傳檔案和發郵件比asp簡單很多,只要呼叫函式就可以了。asp還需要用到伺服器的不同元件比如fso、jmail什麼的。
十天學會php說到這裡了,想告訴大家的是php入門可以是十天,但是精通決不是十天啊,還需要大家自己去研究
一天學會php 下
session的使用 session的作用很多,最多用的就是站點內頁面間變數傳遞。在頁面開始我們要session start 開啟session 然後就可以使用session變數了,比如說要賦值就是 session item item1 要得到值就 是 item1 session item 很簡單吧...
十天學會PHP之第一天
以前寫了十天學會asp,十天學會asp.net什麼的,現在想想再寫個php吧,也算比較全了。php的除錯方法我這裡就不說了,外面很多文章都有介紹,也有很多不同的組合。我這裡暫時是以 apache web server 和 my sql 作為web伺服器和資料庫,在php 4.3.3下的環境做的程式。...
十天學會php之第一天
以前寫了十天學會asp,十天學會asp.net什麼的,現在想想再寫個php吧,也算比較全了。php的除錯方法我這裡就不說了,外面很多文章都有介紹,也有很多不同的組合。我這裡暫時是以 apache web server 和 my sql 作為web伺服器和資料庫,在php 4.3.3下的環境做的程式。...