菜鳥的php(part 3) ... 還有一點SQL

菜鳥的php(part 3) ... 還有一點SQL

最近碰到了一點php, 分享一下學習筆記

什麼是SQL ?

後端的資料庫(database)其實是由一張張資料表(table)組成的,資料表根據該存放的目的,會設置不同的欄位(column),像是名為user的資料表可能會有的欄位就是: 使用者名稱、帳號、加密過的密碼、電子信箱等等。而SQL是與資料庫溝通的語言,主要用來新增、搜尋、刪除以及管理資料庫中的龐大資料。

取得資料 pt1

最簡單的SQL大概看起來像這樣

1
SELECT * FROM users

users是我們要取出資料的資料表名稱,這段sql的意義就是:取得user table中所有資料

取得資料 pt2

1
"SELECT * FROM users WHERE username = 'kitty' AND email = 'kitty@gmail.com'"

上述是一段更為複雜的sql語句,主要的目的在於:從users table中,取得所有符合

  1. username 欄位的值為kitty的user,
  2. 且email欄位為kitty@gmail.com

的使用者資料
上述語句中我們可以看到更複雜的條件語句 - WHERE 和 AND

php & sql - 資料庫查詢

mysqli_ 資料庫連接

範例: 建立連接, 使用query

1
2
3
4
5
6
7
8
9
10
11
12

// 打開物件的暫存區
ob_start();
session_start();
// 建立連線
// server / default username / default password / mysql name
$con = mysqli_connect("localhost", "root", "", "mysqlName");
//若連接失敗
if(mysqli_connect_error()) {
//str . str -> 連接字串
echo "Failed to connect:" . mysqli_connect_error();
}
1
$dataQuery = mysqli_query($con, "SQL");

SQL為你想要下的sql指令, 套用前面的例子, 我們可以這樣寫

1
$dataQuery = mysqli_query($con, "SELECT * FROM users WHERE username = 'kitty' AND email = 'kitty@gmail.com'");

輸出資料表中的資料

將從資料庫撈出的資料的欄位印出來

1
2
3
while($row = mysql_fetch_array($dataQuery){
echo $row['columnName']
}


資料表會長這樣, 一排排(row)的, 上排的文字就是欄位(column)名稱

輸出字串與變數

若要在字串中插入變數, 可使用{}來包住

1
2
$variable = "a surprise!";
echo "this is a string with {$variable}";

在輸出資料到畫面上時會很好用

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×