二、PHP基础——连接msql数据库进行增删改查操作 实战:新闻管理项目
Mysql擴展
PHP針對MySQL數據庫操作提供的擴展:允許PHP當做MySQL的一個客戶端連接服務器進行操作。
連庫基本操作
連接數據庫服務器
1)資源 mysql_connect(服務器地址,用戶名,密碼)
連接資源默認也是超全局的,任何地方都可以使用該資源進行數據庫的其他操作
補充:mysql_connect默認是對一個服務器只連接一次(如果再次運行,返回的是同一個資源),但是如果有需要連接同一個資源兩次,那么可以使用第四個參數:TRUE
設置連接編碼
保持客戶端與服務器之間的溝通順暢:同一“語言”(字符集)
1)形式1:mysql_query(“set names XXX”)
2)形式2:mysql_set_charset(“XXX”)
3)怎么確定要使用何種編碼
客戶端當前執行腳本的界面是什么字符集,就設定成什么字符集
選定要使用的數據庫
1)形式1:mysql_query(“use XXX”)
2)形式2:mysql_select_db(“XXX”)
關閉連接
主動釋放連接:MySQL服務器的連接資源是有限的,不用了需要釋放(腳本執行結束系統也會自動釋放)
1)mysql_close()
執行增刪改操作
Mysql_query函數執行結果返回的是true或者false,true代表執行成功,false代表執行失敗:失敗原因分兩種:一種是SQL指令本身語法錯誤;第二種是執行失敗;
做個專門負責數據庫初始化的腳本:之后要操作數據庫包含該腳本即可
1)mysql_query(“insert …”):通過insert指令向指定表插入對應的數據
2)mysql_query(“delete …”):根據刪除指令操作數據庫(表)
3)mysql_query(“update …”):根據更新指令操作數據庫
判斷執行結果
1)執行成功,結果為true,只代表SQL指令執行成功
2)執行失敗,結果為false,代表SQL指令錯誤或者操作對象不存在
執行查詢操作
執行查詢語句
1)mysql_query(“select …”)
2)其他類似查詢語句,比如:show語句,desc語句
以上兩種情況的總結:凡是執行操作希望拿到數據庫返回的數據進行展示的(結果返回:數據結果)
3)執行結果的處理:成功為結果集,失敗為false
成功返回結果:SQL指令沒有錯誤,但是如果查詢結果本身為空返回也是true(結果集是一種資源:轉換成bool永遠為TRUE)
失敗為false:SQL指令有錯誤
獲取結果集行數
1)mysql_num_rows():獲取結果集中到底有多少行記錄
解析結果集
將一種結果集資源(PHP不能直接使用),轉換成一種PHP能夠解析的數據格式:通過從結果集中(結果集指針:類似數組指針),按照結果集指針所在位置取出對應的一條記錄(一行),返回一個數組,同時指針下移…直到指針移出結果集。
1)mysql_fetch_assoc():獲取關聯數組,表的表單名字作為數組下標,元素值作為數組元素值
2)mysql_fetch_row():獲取索引數組,只獲取數據的值,然后數組的下標從0開始自動索引
3)mysql_fetch_array():獲取關聯或者索引數組,但是默認是同時存在:一個記錄取兩次,形成一組是關聯數組,一組是索引數組;但是可以通過第二個參數來決定獲取的方式:MYSQL_ASSOC只獲取關聯數組;MYSQL_NUM只獲取索引數組;MYSQL_BOTH獲取全部兩種。
通常結果集的操作:一般是獲取里面的所有(全部記錄)
其他相關函數
有關字段信息
1)mysql_num_fields():獲取一個指定結果集中所有的字段數
2)mysql_field_name():獲取一個指定結果集中指定位置字段的名字
有關出錯信息
1)mysql_error():獲取出錯對應的提示信息
2)mysql_errno():獲取出錯對應的錯誤提示代號
錯誤的判斷:基于Mysql_query這個函數執行的結果:結果返回false就代表執行錯誤。
其他函數
1)mysql_insert_id():獲取上次插入操作所產生的自增長ID,如果沒有自增長ID返回0
Mysql擴展應用案例
添加新聞表單
1) 用戶獲取到一個可以添加新聞表單的HTML文件
修改表單項:method提交對象
2) 用戶提交數據到后臺指定的PHP腳本(POST)
3) 后臺腳本處理數據,插入到數據庫:處理指PHP在拿到數據放入數據庫之前要做很多驗證工作保證數據是有效的。
3.1 接收數據
3,2 數據驗證:合法性驗證。標題不能為空,內容不能為空
3.3 提示用戶,同時讓用戶重新再來(回到新增表單頁面)
3.4 數據入庫
4) 提示用戶操作結果,并跳轉到列表頁(跳轉到詳情頁)
Mysql擴展應用案例
顯示新聞列表
將數據庫中所有的新聞信息獲取出來,然后討要HTML提供的顯示模板把數據全部按照指定的位置和格式輸出顯示。
1、 從數據庫獲取所有的新聞數據:PHP腳本
從結果集中取出所有的記錄:一次取一條,一條一個數組;然后將所有的記錄放到一個數組中:形成一個典型的二維數組
2、 有一個已經做好的HTML模板能夠顯示數據:前端
3、 PHP想辦法將數據在HTML中顯示(二者結合):PHP包含HTML
注意細節:
1、 數據的顯示要通過循環遍歷輸出:需要明確PHP是如何保存數據
2、 數據的格式需要按照需求來顯示:列表、時間、是否置頂
Mysql擴展應用案例
刪除新聞
刪除新聞就是通過用戶選中某一個新聞點擊刪除實現從數據庫剔除。
1、 讓用戶看到所有的新聞:已經完成(新聞顯示列表:news.phpnews.html)
2、 給用戶提供一個對應的點擊按鈕:已經存在
3、 實現點擊針對指定的新聞
4、 有一個專門的PHP腳本負責響應用戶的點擊:點哪條刪哪條
4.1 接收要刪除的新聞ID
4.2 調用數據庫操作刪除數據
4.3 提示刪除成功,并且刷新當前界面
Mysql擴展應用案例
修改新聞
修改新聞指用戶通過某個取到看到想修改的新聞,然后點擊之后能夠修改對應的新聞信息,最后點擊保存實現修改更新到數據庫。
1、 需要看到想編輯新聞:已經完成:新聞列表news.phpnews.html
2、 可以點擊實現查看:列表頁中為每個新聞增加點擊鏈接
3、 需要一個PHP腳本能夠處理這件事
3.1 創建PHP文件,同時接受要編輯的ID
3.2 通過ID獲取對應的新聞信息
4、 需要一個HTML模板來展示當前要編輯的數據:PHP包含HTML
4.1 包含模板HTML
4.2 在模板表單中顯示對應的數據
5、 需要修改前端提供的更新表單:表單提交對象(不限)
5.1 需要修改表單提交對象
5.2 更新操作,是后臺根據表單提交的數據來選擇某個新聞進行更新:表單中必須包含一個唯一能確定記錄的新聞:ID,而ID不需要給用戶看,需要增加隱藏表單
6、 需要一個PHP腳本能夠接受修改后的數據并保存到數據庫
6.1 增加更新數據的PHP腳本
6.2 接收用戶提交的數據,同時進行數據驗證:標題和內容均不能為空
6.3 組織SQL更新到數據庫
6.4 提示結果
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的二、PHP基础——连接msql数据库进行增删改查操作 实战:新闻管理项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五、scrapy爬虫框架——loggin
- 下一篇: 二十一、PHP框架Laravel学习笔记