MySQL Insert Into 添加數據
INSERT INTO
INSERT INTO 語法用於向數據表中添加數據記錄。
語法:
INSERT INTO tb_name VALUES (value1, value2,...)
該語法表示向表中所有的字段按順序都插入數據記錄。
但更多情況下是向指定的列添加記錄:
INSERT INTO tb_name (column1, column2,...) VALUES (value1, value2,...)
下面的例子向 user 表添加一條記錄:
<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數據庫失敗:" . mysql_error());
}
mysql_select_db("test", $conn);
mysql_query("set names 'gbk'"); //為避免中文亂碼做入庫編碼轉換
//mysql_query("set names 'utf8'"); //PHP 文件為 utf-8 格式時使用
$password = md5("123456"); //原始密碼 12345 經過加密後得到加密後密碼
$regdate = time(); //得到時間戳
$sql = "INSERT INTO user(username, password, email, regdate)VALUES('小王', '$password',
'12345@163.com', $regdate)";
//exit($sql); //退出程序並打印 SQL 語句,用於調試
if(!mysql_query($sql,$conn)){
echo "添加數據失敗:".mysql_error();
} else {
echo "添加數據成功!";
}
?>
如果是表單提交的數據,那麼在數據處理頁面可以使用 $_POST 或 $_GET 接收表單數據而將數據寫入數據表。
說明
1.為了避免數據記錄因為編碼問題無法寫入數據表或寫入亂碼,所以在執行 mysql_query() 之前,進行了編碼轉換
2.存儲密碼為實際密碼經過 MD5 加密,MD5 加密不可逆,如要驗證密碼,只需將用戶輸入的密碼經 MD5 加密後與數據庫密碼比對即可
3.在 SQL 語句中,我們使用單引號''來表示文本字符屬性
4.為了調試數據寫入數據表中出現的異常,增加了退出程序並打印 SQL 語句的功能,在需要調試的時候可去掉語句前面的注釋,使之生效而便於調試
MySQL Select from 查詢數據
普通查詢
SELECT FROM 語法用於從數據表中查詢讀取數據。
語法:
SELECT column1,column1,... FROM tb_name
如果要讀取全部字段,可以使用 * 號代替字段名:
SELECT * FROM tb_name
例子:
<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數據庫失敗:" . mysql_error());
}
mysql_select_db("test", $conn);
mysql_query("set character set 'gbk'"); //避免中文亂碼字符轉換
mysql_query("set character set 'utf8'"); // PHP 文件為 utf-8 格式時使用
$sql = "SELECT * FROM user";
$result = mysql_query($sql); //得到查詢結果數據集
//循環從數據集取出數據
while( $row = mysql_fetch_array($result) ){
echo "用戶名:".$row['username']."<br />";
echo "電子郵件:".$row['email']."<br />";
echo "注冊日期:".date("Y-m-d", $row[regdate])."<br /><br />";
}
?>
浏覽器輸出:
用戶名:admin
電子郵件:admin@5idev.com
注冊日期:2010-08-06
用戶名:小明
電子郵件:xiao@163.com
注冊日期:2010-07-02
用戶名:Jack
電子郵件:jack@gmail.com
注冊日期:2010-07-02
用戶名:小王
電子郵件:12345@163.com
注冊日期:2010-11-13
說明
1.使用 mysql_query("set character set 'gbk'") 來避免讀取數據的中文亂碼
2.mysql_query() 得到的是數據集資源(Resource),需要用 mysql_fetch_array() 函數來取得
3.使用 while 循環來逐行取得全部數據