PHP與MySQL 入門學習指南 凱文瑞克 著 第 29 章 PHP 與 MySQL.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

OceanBase 0.4:从API到SQL 日照
MySQL資料庫安全管理.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第15章 Java数据库连接(JDBC) 15.1 创建数据源 15.2 JDBC-ODBC桥接器 15.3 顺序查询
PHP 語法簡介.
【PHP程式設計】 實作一:計算BMI.
第四章 網頁表單與資料傳遞.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
PHP與MySQL連結 大葉大學 資工系 黃鈴玲.
LINQ 建國科技大學 資管系 饒瑞佶.
SQL結構化查詢語言 SQL是 Structured Query Language 的縮寫,簡單的說,SQL是一種與資料庫溝通的共通語言,它是當時在 IBM 工作的 E.F. Codd於1970 年針對關聯式模型 ( relational model ),所建構出來的資料庫理論,也因此有了所謂關聯式資料庫的系統,但在發展的初期,由於各種關聯式資料庫系統廠商的.
PHP與SQL語法存取MySQL SQL
Ch13 存取MySQL資料庫 實作:會員管理系統
後端教學-MYSQL 講師:邱小楓(邱珈蓉)
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
9/28號專題報告 Web網頁遊戲 曾建瑋.
第十一章 資料庫設計與權限設定.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 24章 建立資料表與索引.
JAVA vs. SQL Server 建國科技大學 資管系 饒瑞佶 2013/4 V1.
連結資料庫 ACCESS MSSQL.
高等資料庫管理系統 Advanced Database Management System
DataSet.
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
第一組 指導教授:潘仁義老師 組 員:方明建 盧宗宏
Working with Databases (II) 靜宜大學資管系 楊子青
資料庫操作.
Lesson 5 :基礎應用二(留言版) (2004/08/20).
Controls.
第 10 章 PHP 存取 MySQL 資料庫.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
SQL Stored Procedure SQL 預存程序.
Android盤點系統 組別:第九組 組員:四資工三B 4980E046 宋佩鴻 四資工三B 4980E054 詹典易
SQL結構化查詢語言 SQL是 Structured Query Language 的縮寫,簡單的說,SQL是一種與資料庫溝通的共通語言,它是當時在 IBM 工作的 E.F. Codd於1970 年針對關聯式模型 ( relational model ),所建構出來的資料庫理論,也因此有了所謂關聯式資料庫的系統,但在發展的初期,由於各種關聯式資料庫系統廠商的.
網頁切換移轉 JS vs. ASP.NET.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 27 章 資料庫查詢作業.
Echo Server/Client Speaker:Fang.
SQL語法.
App Inventor2呼叫PHP存取MySQL
Ch4.SQL Server 2005資料庫組成員元件介紹
使用PHP來操作資料庫 教授:楊維邦 教授 助教:李政均、劉秋良.
网 站 设 计 与 建 设 Website design and developments
網頁切換移轉 JS vs. ASP.NET.
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
第20章 MySQL数据库.
表單(Form).
PHP +MySQL快速入門 Lesson 3.
PHP+MySQL互動式網頁程式設計班 PHP+MySQL資料庫語法與應用 講師:林業峻 CSIE, NTU 6 / 26, 2010.
Ch20. 計算器 (Mac 版本).
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
Pocket Access.
VB2005 DataBase Manipulation Command for Access
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
表單(Form).
PHP與MySQL 入門學習指南 凱文瑞克 著 第 22 章 SQL 介紹與建立MySQL資料庫.
表格(HTML – FORM).
第12章 MySQL資料庫系統的使用 12-1 網頁資料庫的基礎 12-2 MySQL資料庫系統
挑戰C++程式語言 ──第8章 進一步談字元與字串
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
GridView.
GridView操作 (II).
表格(HTML – FORM)
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
資料庫PROJECT B 沈芝羽 B 李翊銘.
連結資料庫 MYSQL.
MySQL执行计划解读 胡中泉.
資料庫應用與實作 一到六章重點、習題.
SQLite資料庫 靜宜大學資管系 楊子青.
Web安全基础教程
Joining Multiple Tables
Presentation transcript:

PHP與MySQL 入門學習指南 凱文瑞克 著 第 29 章 PHP 與 MySQL

PHP 如何與 MySQL 連接 流程如下所示 : 使用者在使用者的瀏覽器上向網頁伺服器下命令。 網頁伺服器收到瀏覽器端的請求。 網頁伺服器依據請求尋找伺服器上的網頁。 伺服器執行網頁內含的 PHP 程式碼。 PHP 程式碼透過內建的 MySQL API 存取後端資料庫伺服器。 PHP 取回後端資料庫伺服器的查詢結果。 網頁伺服器將查詢結果傳回使用者。

PHP 連接及執行 MySQL 的步驟(一) 連線:mysql_connect 建立資料庫:mysql_create_db 查詢 $select=mysql_slect_db('test'); $sql="select * from customers"; $result=mysql_query ($sql)  ||  die ("query fail");

PHP 連接及執行 MySQL 的步驟(二) 錯誤處理 if ($result=mysql_query("$sql")) {            echo "顯示正確的訊息"; } else {            echo "Error:".mysql_errno().";錯誤訊息:".mysql_error(); }

PHP的MySQL函數群(1) mysql_close---關閉MySQL連線 範例:   $link=mysql_connect(“o3.net”,”jollne”,”akd83k”);         mysql_close($link); 如果沒有傳入link變數,則以最後的link為主。也就是上例也可以寫成   $link=mysql_connect(“o3.net:6677”,”jollne”,”akd83k”);

PHP的MySQL函數群(2) mysql_connect---開啟MySQL伺服器連線 例如: <? $link = mysql_connect ("kraemer", "marliesle", "secret") or die ("Could not connect");  print ("Connected successfully"); mysql_close ($link); ?> $link=mysql_connect(“database,o3.net:7070”,”guest”,”guest123”);

PHP的MySQL函數群(3) mysql_pconnect --- 開啟MySQL伺服器持續連線 mysql_pconnect()比mysql_connect()好用,兩者主要的差別為: 1.mysql_pconnect()會檢查是否有相同host、相同username與相同password的connection,如果有則不會再重覆開啟。 2.當程式執行完成後將不會關閉連結到MySQL伺服器,反而會保留下來給之後使用。mysql_close( )將無法關閉以mysql_pconnect( )所開啟的連結,當PHP程式執行完時,利用connection因為有上面介紹的這兩種特性,因此稱利用mysql_pconnect()開啟的connection為persistent connection。

PHP的MySQL函數群(4) mysql_select_db --- 選擇一個資料庫 mysql_select_db( )設定在伺服器上現行的資料庫,如果沒有指定 link_identifier,則假定是最後開啟的連結,如果無開啟的連結,此函式會試著去建立一個連結,並且使用它,就好像是呼叫 mysql_connect( )一樣。隨後呼叫 mysql_query( ) 都會在此資料庫上工作。 相容的 mysql_selectdb( ) 也可以使用。 例如:   $link=mysql_pconnect();         mysql_select_db(“star”,”$link);

PHP的MySQL函數群(5) mysql_create_db --- 新增一個MySQL資料庫 <?php $link = mysql_pconnect ("kron", "jutta", "geheim") or die ("無法連接資料庫");   if (mysql_create_db ("my_db")) { print ("Database created successfully\n");  } else {  printf ("Error creating database: %s\n", mysql_error ());  } ?>

PHP的MySQL函數群(6) mysql_drop_db --- 刪除MySQL資料庫 mysql_drop_db( )試著從伺服器刪除一整個資料庫。刪除資料庫。成功傳回true,失敗傳回false。 相容的mysql_dropdb( )也可以使用。

PHP的MySQL函數群(7) mysql_fetch_array --- 取得查詢後的陣列結果 <?php mysql_connect($host,$user,$password);\ $uesult=mysql_db_query(“student”,”select*from table”); while($row=mysql_fetch_array($result)){     echo $row[“fullname”];     echo $row[“grade”]; } mysql_free_result($result); ?>

PHP的MySQL函數群(8) echo "<PRE> mysql_fetch_field --- 取得欄位資訊 <? mysql_connect ($host, $user, $password) or die ("Could not connect"); $result = mysql_db_query ("database", "select * from table") or die ("Query failed"); # get column metadata $i = 0; while ($i < mysql_num_fields ($result)) { echo "Information for column $i:<BR>\n"; $meta = mysql_fetch_field ($result); if (!$meta) { echo "No information available<BR>\n"; } echo "<PRE> blob: $meta->blob max_length: $meta->max_length multiple_key: $meta->multiple_key name: $meta->name not_null: $meta->not_null numeric: $meta->numeric primary_key: $meta->primary_key table: $meta->table type: $meta->type unique_key: $meta->unique_key unsigned: $meta->unsigned zerofill: $meta->zerofill </PRE>"; $i++; } mysql_free_result ($result); ?>

PHP的MySQL函數群(9) name 欄位名稱 table 欄位所在的資料表名稱 max_length 該欄位的最大長度 not_null                如果該欄位不能接受NULL,則為1。 primary_key     如果該欄位為primary key,則為1。 unique_key 如果該欄位為unique key,則為1。 multiple_key 如果該欄位不是unique key,則為1。 numeric 如果該欄位為數字型態,則為1。 blob 如果該欄位為BLOB型態,則為1。 type                   該欄位的資料型態。型態名稱為一個字串,該字串則是資料型態的名稱。 unsigned                 如果該欄位為unsigned屬性,則為1。 zerofill                   如果該欄位為zerofill屬性,則為1。

PHP的MySQL函數群(10) mysql_fetch_object --- 取得查詢後的物件結果 範例: … while($row=mysql_fetch_object($result)){ echo $row->user_id; echo $row->fullname; }

PHP的MySQL函數群(11) mysql_fetch_row --- 取得單列結果 傳回一陣列,此陣列相當於取得列,如果沒有更多列則傳回false。mysql_fetch_row( )從結果取得資料的一列,將列放入陣列中傳回,各個結果欄位儲存在陣列偏移量之中,偏移量的起始值為0。隨後呼叫mysql_fetch_row( )將傳回結果中的下一列,如果沒有更多列則傳回false。

PHP的MySQL函數群(12) mysql_field_type --- 取得指定欄位的型態 <? mysql_connect ("localhost:3306"); mysql_select_db ("wisconsin"); $result = mysql_query ("SELECT * FROM onek"); $fields = mysql_num_fields ($result); $rows = mysql_num_rows ($result); $i = 0; $table = mysql_field_table ($result, $i); echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <BR>"; echo "The table has the following fields <BR>"; while ($i < $fields) { $type = mysql_field_type ($result, $i); $name = mysql_field_name ($result, $i); $len = mysql_field_len ($result, $i); $flags = mysql_field_flags ($result, $i); echo $type." ".$name." ".$len." ".$flags."<BR>"; $i++; } mysql_close(); ?>

PHP的MySQL函數群(13) mysql_tablename --- 取得表格名稱 <?     mysql_connect ("localhost:3306");      $result = mysql_list_tables ("wisconsin");      $i = 0;      while ($i < mysql_num_rows ($result)) {                $tb_names[$i] = mysql_tablename ($result, $i);                echo $tb_names[$i] . "<BR>";               $i++;    } ?>

PHP的MySQL函數群(14) mysql_query --- 送出MySQL查詢 <? $result = mysql_query ("SELECT * WHERE 1=1") or die ("Invalid query"); ?> 如果my_col在表格my_tb1中不是一個欄位,則以下的查詢是語義上有錯誤的,因此 mysql_query( )失敗且傳回FALSE。 範例 : $result = mysql_query ("SELECT my_col FROM my_tbl") or die ("Invalid query");

PHP的MySQL函數群(15) mysql_errno --- 從先前MySQL操作傳回錯誤訊息代號 範例 : <? mysql_connect("marliesle"); echo mysql_errno().": ".mysql_error()."<BR>"; mysql_select_db("nonexistentdb"); $conn = mysql_query("SELECT * FROM nonexistenttable"); ?>

PHP的MySQL函數群(16) mysql_error --- 從先前MySQL操作傳回錯誤訊息 範例: <? mysql_connect("marliesle"); echo mysql_errno().": ".mysql_error()."<BR>"; mysql_select_db("nonexistentdb"); $conn = mysql_query("SELECT * FROM nonexistenttable"); ?>