程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 結合PHP腳本添加和查詢MySQL數據的基本教程

結合PHP腳本添加和查詢MySQL數據的基本教程

編輯:關於MYSQL數據庫

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',
 '[email protected]', $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
電子郵件:[email protected]
注冊日期:2010-08-06

用戶名:小明
電子郵件:[email protected]
注冊日期:2010-07-02

用戶名:Jack
電子郵件:[email protected]
注冊日期:2010-07-02

用戶名:小王
電子郵件:[email protected]
注冊日期:2010-11-13
說明
1.使用 mysql_query("set character set 'gbk'") 來避免讀取數據的中文亂碼
2.mysql_query() 得到的是數據集資源(Resource),需要用 mysql_fetch_array() 函數來取得
3.使用 while 循環來逐行取得全部數據

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved