Open Lichen5221 opened 3 years ago
快取為網頁暫存檔案,若是更改後頁面沒有修正,必須打開 delvtool Network 將 Disable cache 打勾,避免網頁讀取原先的暫存檔,造成異常。
如果打勾後網頁還是有錯,代表不是快取的問題。
靜態網頁:Apache 為一種伺服器,接收要求去找檔案並回傳。
動態網頁:Apache 同樣接收要求並找檔案,若是 php 檔,會先執行 php 語法,再把 php 語法輸出的結果回傳。
只有被 php 語法包起來的會執行,其他文字都會直接輸出。
在 php 中會為 query string 準備 $_GET 的參數。
前端 php 檔:
<?php
echo "hello";
?>
<form method = "GET" action = "data.php">
name: <input name = "name" />
age: <input name = "age" />
<input type = "submit" />
</form>
後端 php 檔:
<?php
if (empty($_GET['name']) || empty($_GET['age'])) {
echo "請重新輸入";
} else {
echo "name:" . $_GET['name'] . '<br>';
echo "age:" . $_GET['age'] . '<br>';
}
?>
其中需注意: isset & empty 的差別。
如果要用 POST 就直接把 GET 改成 POST 就好。
在表單中 GET 與 POST 無法混用,但在 php 檔中可以混用,但是不建議,因為會變得非常混亂。
$conn = new mysqli('連線端(本地端即 localhost)', '帳號名稱', '密碼', '主資料庫名稱')
<?php
$conn = new mysqli('localhost', '帳號名稱', '密碼', 'lichen');
if (!empty($conn -> connect_error)) {
die('輸入錯誤:' . $conn -> connect_error);
}
if (empty($_GET['name']) || empty($_GET['age'])) {
echo "請重新輸入";
} else {
echo "name:" . $_GET['name'] . '<br>';
echo "age:" . $_GET['age'] . '<br>';
}
?>
使用 die 指令可以在發生錯誤時終止底下所有程式運行。
通常不會寫在要連線的 php 檔裡,而是會特地寫一個專門連線用的 conn.php ,然後在其他須要連線的 php 檔中加入 require_once('conn.php'); 此行語法連線。
INSERT 新增資料
INSERT INTO 資料庫名稱(想要增加的欄位) VALUES(欄位的值)
如果欄位的名稱跟語法一樣就需要反引號。 ID 、 created_at 會自行增加無須填。
UPDATE 修改資料
UPDATE 資料庫名稱 SET 欄位名稱 = 值 WHERE ID = 1
透過 WHERE 指定哪個資料要修改,一樣如果要更改兩個欄位中間使用逗號。如果沒有使用 WHERE 指定,則會整個資料庫該欄位都修正。
DELETE 刪除資料
DELETE FROM 資料庫名稱 WHERE 指定條件
符合條件者全部都會刪除。
許多系統都不是真正的刪除,而是透過使用布林值表達是否刪除的資料,在 SELECT 選擇 0 就代表真正的資料, 1 就是刪除的資料。所以不太會用 DELETE 的語法,避免無可挽回的錯誤。