|
第三天學習目的:學會構建數據庫
在ASP中,如果是ACCESS數據庫你可以直接打開ACCESS來編輯MDB文件,如果是SQL SERVER你可以打開企業管理器來編輯SQL SERVER數據庫,但是在php中,MY SQL的命令行編輯可能會令初學者感到很麻煩,不要緊,你下載一個phpMYADMIN安裝一下,以后建立編輯數據庫可以靠它了。
下面說一下它的使用。
進入了phpmyadmin后,我們首先需要建立一個數據庫,
Language (*) 這里選擇中文簡體,然后在左邊的 創建一個新的數據庫 這里填寫數據庫名字,點擊創建即可。
然后在左邊下拉菜單中選擇那個已經創建的數據庫。在下面的
在數據庫 shop 中創建一個新表 :
名字 :
字段數 :
中填寫表名字和大致你認為的字段數(不夠或者多了都不要緊,以后可以再添加或者缺省),按執行。
然后就可以開始建立表了。
第一欄是字段的名字;第二欄選擇字段類型:
我們常用的是以下幾個:
1)VARCHAR,文本類型
2)INT,整數類型
3)FLOAT,浮點數類型
4)DATE,日期型
5)大家或許會問,自動添加的ID在哪里?這個只要選擇INT類型,在后面的額外中選擇 auto_increment 就可以了。
建立了表以后,可以在左邊看到你建立的表,點擊以后,你可以:
1)按右邊的結構:查看修改表結構
2)按右邊的瀏覽:查看表中的數據
3)按右邊的SQL:運行SQL語句
4)按右邊的插入:插入一行記錄
5)按右邊的清空:刪除表中所有記錄
6)按右邊的刪除:刪除表
還有一個很重要的功能就是導入和導出,當我們本機做好了程序和數據庫的時候,需要在服務器上也有一個本地鏡像,如果是ASP的ACCESS簡單了,直接上傳MDB文件即可,如果是SQL SERVER也可以連接遠端服務器進行導入。那么MY SQL中你可以導出所有的SQL語句,到了遠端服務器的phpMYADMIN上,創建數據庫后按SQL,粘帖你剛才復制下來的所有本級生成的SQL語句即可。今天就說到這里,明天繼續說數據庫操作。第四天學習目的:學會連接數據庫
php簡直就是一個函數庫,豐富的函數使php的某些地方相當簡單。建議大家down一本php的函數手冊,總用的到。
我這里就簡單說一下連接MYSQL數據庫。
1、mysql_connect
打開 MySQL 服務器連接。
語法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整數 本函數建立與 MySQL 服務器的連接。其中所有的參數都可省略。當使用本函數卻不加任何參數時,參數 hostname 的默認值為 localhost、參數 username 的默認值為 php 執行行程的擁有者、參數 password 則為空字符串 (即沒有密碼)。而參數 hostname 后面可以加冒號與端口號,代表使用哪個端口與 MySQL 連接。當然在使用數據庫時,早點使用 mysql_close() 將連接關掉可以節省資源。
2、 mysql_select_db
選擇一個數據庫。
語法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整數
本函數選擇 MySQL 服務器中的數據庫以供之后的資料查詢作業 (query) 處理。成功返回 true,失敗則返回 false。
最簡單的例子就是:
$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))
{
echo "username:".$rs->username."<br>";
}
?>
當然,表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")&"<br>"
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變量傳遞,如果表單中的一個 <input name="item1" type="text" id="item1">
表單以POST提交的,那么處理表單文件就可以用$_POST['item1']得到變量值,同樣以GET提交的就是$_GET['item1']是不是很簡單?但是通常$exec會有問題,因為可能您的SQL語句會很長,您會遺漏.連接符,或者'來包圍字符型字段。
我們可以注釋mysql_query($exec);語句用echo $exec;代替來輸出$exec以檢查正確性。如果您還不能察覺$exec有什么錯誤的話,可以復制這個sql語句到phpmyadmin中執行,看看它的出錯信息。還有需要注意的是,我們不要使用一些敏感的字符串作為字段名字,否則很可能會出現問題,比如說date什么的。變量的命名,字段的命名遵循一點規律有的時候對自己是一種好處,初學者并不可忽視其重要性。今天就說到這里,大家可以DOWN一個SQL語句的參考手冊,再研究研究。明天繼續說SESSION。
php技術:十天學會php(2),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。