电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP 如何向 MySQL 發送數據

瀏覽:6日期:2024-01-19 08:43:24
你應該對 HTML 表單比較了解了,下面的一段代碼是一個很簡單的 HTML 表單:;;< html>;;< body>;;< form action=submitform.php3 method=GET>;;姓 : < input type=text name=first_name size=25 maxlength=25>;;名 : < input type=text name=last_name size=25 maxlength=25>;;< p>;;< input type=submit>;;< /form>;;< /body>;;< /html>;;當你輸入數據,并按下 submit 按鈕后,這個表單將把數據發送到 submitform.php3 。再由這個 PHP 腳本來處理收到的數據,下面就是 submitform.php3 的代碼:;;< html>;;< body>;;< ?php;;mysql_connect (localhost, username, password);;;mysql_select_db (dbname);;;mysql_query ("INSERT INTO tablename (first_name, last_name);;VALUES ('$first_name', '$last_name');;");;;print ($first_name);;;print (" ");;;print ($last_name);;;print ("< p>");;;print (" 感謝填寫注冊表 ");;;?>;;< /body>;;< /html>;;在代碼的第三行中的 "username" 和 "password" 分別代表你登陸 MySQL 數據庫的賬號和密碼。在第五行中的 "dbname" 表示 MySQL 數據庫的名稱。在第十三行中的 "tablename" 是數據庫中的一個數據表的名稱。;; 當你按下 submit 之后,可以看到你輸入的名字被顯示在一個新的頁面中。再看一看瀏覽器的 URL 欄,它的內容應該是像這樣的:;;… /submitform.php3?first_name=Fred&last_name=Flintstone;;因為我們用到的是表單 GET 方法,因此數據是通過 URL 來傳送到 submitform.php3 的。顯然, GET 方法是有局限性的,當要傳遞的內容很多時,就不能用 GET 了,只能用 POST 方法。但不管用什么方法,當數據傳送完成后, PHP 自動的為每一個表單中的字段建立一個和他們的名字(表單的 name 屬性)相同的變量。;; PHP 變量都已用一個美元符號開頭的,這樣,在 submitform.php3 腳本處理的過程中,就會有 $first_name 和 $last_name 這兩個變量了,變量的內容就是你輸入的內容。;; 我們來檢查一下你輸入的名字是否真的被輸入到數據庫中了。啟動 MySQL, 在 mysql> 提示符下輸入:;;mysql> select * from tablename;;;你應該可以得到一個表,內容就是你剛才輸入的了:;;+------------+------------+;;| first_name | last_name |;;+------------+------------+;;| 柳 | 如風;;+------------+------------+;;1 rows in set (0.00 sec);; 我們再來分析一下 submitform.php3 是如何工作的:;; 腳本的開始兩行是:;;mysql_connect (localhost, username, password);;;mysql_select_db (dbname);;;這兩個函數調用用來打開 MySQL 數據庫,具體的參數的含義剛才已經說過了。;; 下面的一行是執行一個 SQL 語句 :;;mysql_query ("INSERT INTO tablename (first_name, last_name);;VALUES ('$first_name', '$last_name');;");;; mysql_query 函數就是用來對選定的數據庫執行一個 SQL 查詢。你可以在 mysql_query 函數中執行任何的 SQL 語句。被執行的 SQL 語句必須作為一個字符串用雙引號括起來,在其中的變量要用單引號括起來。;; 有一個要注意的事情: MySQL 的語句要用一個分號 (;) 結束,一行 PHP 代碼同樣也是這樣,但是在 PHP 腳本中的 MySQL 語句是不能有分號的。也就是說,當你在 mysql> 的提示符下輸入 MySQL 命令,你應該加上分號:;;INSERT INTO tablename (first_name, last_name);;VALUES ('$first_name', '$last_name');;; 但是如果這個命令出現在 PHP 腳本中,就要去掉那個分號了。之所以這樣做,是因為有的語句,如 SELECT 和 INSERT ,有沒有分號都可以工作。但是還有一些語句,如 UPDATE ,加上分號就不行了。為了避免麻煩,記住這條規則就好了。;;PHP 如何從 MySQL 中提取數據;;現在我們建立另外一個 HTML 表單來執行這個任務:;;< html>;;< body>;;< form action=searchform.php3 method=GET>;;請輸入您的查詢內容 :;;< p>;;姓: < input type=text name=first_name size=25 maxlength=25>;;< p>;;名 : < input type=text name=last_name size=25 maxlength=25>;;< p>;;< input type=submit>;;< /form>;;< /body>;;< /html>;;同樣,還要有一個 php 腳本來處理這個表單,我們再建立一個 searchform.php3 文件:;;< html>;;< body>;;< ?php;;mysql_connect (localhost, username, password);;;mysql_select_db (dbname);;;if ($first_name == "");;{$first_name = '%';};;if ($last_name == "");;{$last_name = '%';};;$result = mysql_query ("SELECT * FROM tablename;;WHERE first_name LIKE '$first_name%';;AND last_name LIKE '$last_name%';;");;;if ($row = mysql_fetch_array($result)) {;;do {;;print $row["first_name"];;;print (" ");;;print $row["last_name"];;;print ("< p>");;;} while($row = mysql_fetch_array($result));;;} else {print " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";};;?>;;< /body>;;< /html>;; 當你在表單中輸入了要檢索的內容,再按下 SUBMIT 按鈕后,就會進入一個新的頁面,其中列出了所有匹配的搜索結果。下面再來看看這段腳本到底是怎樣完成搜索任務的。;; 前面的幾條語句和上面講到的一樣,先是建立數據庫連接,然后選定數據庫和數據表,這些是每個數據庫應用所必需的。然后有這樣的幾條語句:;;if ($first_name == "");;{$first_name = '%';};;if ($last_name == "");;{$last_name = '%';};; 這幾行用來檢查表單的各字段是否為空。要注意的是那兩個等號,因為 PHP 的語法大多源于 C 語言,這兒等號的用法也同 C 一樣:一個等號是賦值號,兩個等號才代表邏輯等于。還應該注意的是:當 IF 后條件為真時,后面要執行的語句是放在“ { ”和“ } ”中的,并且其中的每一條語句后面都要加上分號表示語句結束。;; 百分號 % 是 SQL 語言的通配符,理解了之一點后,就該知道這兩行的意思了:如果“ FIRST_NAME ”字段為空,那么將列出所有的 FIRST_NAME 。后面的兩句也是同樣的意思。;;$result = mysql_query ("SELECT * FROM tablename;;WHERE first_name LIKE '$first_name%';;AND last_name LIKE '$last_name%'";;");;;這一行完成了搜索的大部分工作。當 mysql_query 函數完成一個查詢后,它返回一個整數標志。;; 查詢從所有的記錄中選出那些 first_name 列和 $first_name 變量相同,并且 last_name 列和 $last_name 變量值也相同的記錄,放到暫存的記錄集中,并用返回的整數作為這個記錄集的標志。;;if ($row = mysql_fetch_array($result)) {;;do {;;print $row["first_name"];;;print (" ");;;print $row["last_name"];;;print ("< p>");;;} while($row = mysql_fetch_array($result));;;} else {print " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";};;這是最后的一步,就是顯示部分了。 mysql_fetch_array 函數先提取出查詢結果的第一行的內容,在用 PRINT 語句顯示出來。這個函數的參數就是 mysql_query 函數返回的整數標志。而 mysql_fetch_array 執行成功后,記錄集指針會自動下移,這樣當再一次執行 mysql_fetch_array 時,得到的就是下一行紀錄的內容了。;; 數組變量 $row 被 mysql_fetch_array 函數建立并用查詢的結果字段來填充,數組的每一個分量對應于查詢結果的每一個字段。;; 如果有符合的紀錄被找到,變量 $row 不會空,這時就會執行花括號中的語句:;;do {;;print $row["first_name"];;;print (" ");;;print $row["last_name"];;;print ("< p>");;;} while($row = mysql_fetch_array($result));;;這是一個 do … while 循環。與 while 循環不同的是,它是先執行一遍循環循環體,然后在檢查循環條件是否滿足。由于已經知道在紀錄集不為空的情況下,肯定至少要把循環體執行一遍,所以應該用到的是 do … while 而不是 while 循環了。在花括號中的就是要執行的循環體:;;print $row["first_name"];;;print (" ");;;print $row["last_name"];;;print ("< p>");;; 然后就是檢查 while 條件是否滿足。 Mysql_fetch_array 函數再次被調用,來得到當前紀錄的內容。這個過程一直循環,當沒有下一條紀錄存在時, mysql_fetch_array 返回 false ,循環結束,紀錄集也就被完全的遍歷了一次。;;mysql_fetch_array($result) 返回的數組,不僅可以用字段名來調用,也可以像一般的數組那樣,用下標來引用數組的各個分量。這樣,上面的代碼還可以寫成這樣:;;print $row[0];;;print (" ");;;print $row[1];;;print ("< p>");;;我們還可以用 echo 函數來把這四條語句寫的緊湊一些:;;echo $row[0], " ", $row[1], "< p>";;;當沒有任何匹配的紀錄被找到時,在 $row 中就不會有任何內容,這時就會調用 if 語句的 else 子句了:;;else {print " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";};;
標簽: PHP
主站蜘蛛池模板: 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 金属管浮子流量计_金属转子流量计厂家-淮安润中仪表科技有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 芝麻黑-芝麻黑石材厂家-永峰石业 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 移动厕所租赁|移动卫生间|上海移动厕所租赁-家瑞租赁 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 |