or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
後端基礎
PHP
與MySQL
tags:
Tag(後端基礎 PHP 與 MySQL!)
PHP
是什麼PHP語言是伺服器端(Server)執行的網頁,PHP必須先在伺服器端執行完後,再將結果傳至使用者端(Client)的瀏覽器中檢視結果,所以必須使用網站伺服器,且伺服器要支援PHP。
前端與後端的差別
連到網站,帶有畫面和動畫的這些檔案,都是從伺服器傳送來的,製作這些畫面的,都是前端。
填入帳號密碼,按下發送,內容傳到伺服器。伺服器處理各個request和response,然後會幫你做驗證,確定你可不可以登入,都是後端。
回到主畫面,右上角寫著「嗨!XXX」,這個XXX叫什麼名字,也都是後端幫忙前端填上去的,而這些動態填上去的資料,都是存放在伺服器的資料庫(database)。
什麼是資料庫
資料庫可以當成是資料的檔案櫃,當需要的時候才將所需的資聊拉出來。一般來說,資料庫可以提供「新增 Create」、「查詢 Read」、「更新 Update」、「刪除 Delete」,簡稱 CRUD。
資料庫大致上可以分為兩種類型:
關聯式資料庫
使用簡單,穩定度高,常見如 MySQL、PostgreSQL、Microsoft SQL Server、SQLite。
非關聯式資料庫
NoSQL 資料庫,常見為 mongoDB。
什麼是
Session
Session 的機制就像是你去飲料店下了單以後,得到號碼牌,然後你走開幾步,店員就忘了你是誰。
如果你想去取飲料,你就得靠這張號碼牌,去跟店員領,店員會跟據這號碼牌,認定你是顧客、是否點過餐、知道你點了什麼東西,然後可以接著給你屬於你的飲料。
點了什麼飲料,都是記錄在 Server 裡,可能是 Database、記憶體或是檔案,可以以任何一種形式儲存。然後,當你去領飲料時,店員會輸入你的號碼,用你的號碼得知你是否點過餐、點了什麼東西。
什麼是
Cookie
兩種方法讓 Client 取得號碼牌,一個是用 Cookie,另一個是直接輸出並嵌入頁面之中的方法(就是要你把號碼背起來)。
拿號碼牌去 Server 要資料,主要也分為兩種方法,Cookie 和運用標準的 Query string/POST body方法。(其實只要能把號碼傳到 Server 上,任何方法都行)
Cookie 就是存在瀏覽器裡的一些資訊。
Apache
與PHP
原理簡介基礎
PHP
語法陣列
array
設定陣列:
取得陣列元素:
取得陣列長度:
輸出完整陣列
var_dump
: 輸出每一個內容的型態跟值: type, valueprint_r
: 比較簡潔、沒有輸出型態: valueMySQL
基礎語法新增
(INSERT)
使用
INSERT INTO
指令可以新增資料:查詢
(SELECT)
使用
*
查詢全部資料:(條件)
where
針對特定屬性選取:排序加上
ORDER BY
,設定由大到小DESC
或由小到大ASC
:as
改名,後面接<new-name>
函式→數量
COUNT
、加總SUM
、平均值AVG
、最大值MAX
和最小值MIN
。COUNT
計算筆數取該欄位底下最大值
MAX
/ 最小值MIN
SUM
欄位底下值加總刪除
DELETE
先用
SELECT
指令撈取要操作的資料WHERE
在這一項非常重要,沒有加上WHERE
則系統會對所有行進行動作,即會刪除所有資料。修改
(UPDATE)
SET
指定要修改的列和值WHERE
很重要,如果忘記寫上WHERE
子句,會意外更新表中的所有行。前端傳資料給後端
form
方法index.php
可以用$_GET
把送的資料拿出來用 GET 回傳的代號來做對應的處理
錯誤處理
用 query string 在導向時加上 errCode
導回到 login.php 時,可用 $_GET 取得 query string 的值,以做對應的處理
資料庫連線
conn.php
讀取資料
新增資料
刪除資料
編輯資料
用
while
迴圈拿取table
內所有row
的資料如何使用
Session
存取
session
取用
session
比對資料是否存在於資料庫
用
htmlspecialchars()
防止input
的內容被放上程式碼後跑版建立函式
使用 htmlspecialchars_decode 來把資料庫內的 unicode 解析成特殊符號
在函式內使用全域變數
使用 global
資料庫欄位型態
VARCHAR
跟TEXT
的差別是什麼查詢速度:
使用隨機函數,讓圖片可以隨機呈現
新建一個資料夾,把圖片放進去
index.php