以mysql_query()函數作為教學的基礎前提,我們先來看看mysql_query()的用法:
mysql_query()函數
PHP MySQL 函式庫中,mysql_query() 函式用於傳送並執行 SQL 語句給 MySQL。
對於沒有資料回傳結果集的SQL ,如UPDATE、DELETE 等在執行成功時傳回TRUE,出錯時傳回FALSE;對於SELECT,SHOW,EXPLAIN 或DESCRIBE 語句傳回一個資源標識符,如果查詢執行不正確則傳回FALSE 。
語法:
resource mysql_query( string query [, resource connection] )
參數說明:
提示
如果沒有開啟的連接,本函數會嘗試無參數呼叫mysql_connect() 函數來建立一個連接
,對於返回資料集的查詢(即沒有符合查詢條件的記錄),傳回的仍然是資源標示符而不是FALSE
範例1:
<php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die("连接数据库失败:" . mysql_error()); } mysql_select_db("test", $conn); $result = mysql_query("SELECT * WHERE 1=1") or die("无效查询: " . mysql_error()); ?> 该例子查询语句在 SQL 语法上有错误,因此 mysql_query() 执行失败并返回 FALSE 。 例子2: <php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die("连接数据库失败:" . mysql_error()); } mysql_select_db("test", $conn); mysql_query("set names 'gbk'"); //为避免中文乱码做入库编码转换 $password = md5("123456"); //原始密码 12345 经过加密后得到加密后密码 $regdate = time(); //得到时间戳 $sql = "INSERT INTO user(username, password, email, regdate)VALUES('小王', '$password', '12345@163.com', $regdate)"; if(!mysql_query($sql,$conn)){ echo "添加数据失败:".mysql_error(); } else { echo "添加数据成功!"; } ?>
該例子向user 表寫入數據,成功回傳TRUE ,否則回傳FALSE(以!符號判斷)。
Create Database 建立資料庫
建立資料庫
CREATE DATABASE 語法用於建立一個資料庫。
語法:
CREATE DATABASE db_name
PHP MySQL 函式庫中,mysql_query() 函式用於向 MySQL 傳送並執行 SQL 語句。
建立一個名為testdb 的資料庫:
<?php $conn = @mysql_connect("localhost","root","root1234"); if (!$conn){ die("连接数据库失败:" . mysql_error()); } if (@mysql_query("CREATE DATABASE testdb",$conn)){ echo "创建数据库成功!"; } else { echo "创建数据库失败:" . mysql_error(); } ?>
提示
建立資料庫需要有對應的使用者權限,如root使用者
在實際的虛擬主機空間中,虛擬主機商通常已經建立好了對應的資料庫,故上述例子不一定執行成功
選擇資料庫
要對資料庫或表格執行操作時,需要選擇資料庫。 mysql_select_db() 用於選擇一個資料庫,如果成功,則函數傳回 true,如果失敗則傳回 false。
語法:
bool mysql_select_db( string db_name [, resource connection] )
參數說明:
具體使用請參閱下方建立資料表範例。
建立資料表
建立資料表 SQL 語法如下:
CREATE TABLE table_name ( column1 data_type, column2 data_type, column3 data_type, ....... )
上述語法中,column為欄位名,後面為資料型別。
建立一個名為user 的表:
<?php $conn = @mysql_connect("localhost","root","root1234"); if (!$conn){ die("连接数据库失败:" . mysql_error()); } //选择数据库 mysql_select_db("test", $conn); //创建数据表 SQL $sql = "CREATE TABLE user ( uid mediumint(8), username varchar(20), password char(32), email varchar(40), regdate int(10) )"; if(!mysql_query($sql,$conn)){ echo "创建数据表失败:". mysql_error(); } else { echo "创建数据表成功!"; } ?>
在這個例子中,分為3 個執行步驟:
建立一個資料庫連結
使用mysql_select_db(mysql)。使用mysql_query() 函數建立資料表
在該範例中建立的表有4個字段,並指定了對應的資料物件類型。
建表原則
一般來說,建立資料表有以下注意事項:原始記錄資料與表的對應關係
表名和欄位名稱應遵循命名語法且應該明確含義
指定欄位的資料類型
指定欄位的其他如是否非空、是否有預設值等屬性
定義表的屬性如主外鍵、限制、索引等
與其他表的關係
限於篇幅且為控制教程難易度,在此不展開過多討論。
提示
這個建表範例只是為了示範基本的建表語法,並不完善。實際生產當中,我們還需要給表格和欄位指定更多的屬性。
更多藉助PHP的mysql_query()函數來建立MySQL資料庫的教學相關文章請關注PHP中文網!