因為之前曾經用過MSSQL
所以相對的覺得PHP+MySQL整個已經包好
還有後臺管理系統可以用、簡單了很多
但是老師說,因為牽扯到資料庫的語法
同學們會需要花更多時間去重複練習
正確連至資料庫
在phpmyadmin中建立db
建立config.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <?php
define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'db_test');
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
mysqli_query($link, 'SET NAMES utf8');
if($link === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } else{ echo "Connected!"; return $link; } ?>
|
建立index.php
1 2 3 4 5 6 7 8 9 10 11 12
| <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>連接資料庫</title> </head> <body> <h1>資料庫練習</h1> <?php $conn=require_once('config.php'); ?> </body> </html>
|
最後成功連線的結果如下:
用php新增Table(較少用到)
新增table大部分會選擇使用phpmyadmin建立
選擇用php建立的方法如下(通常會需要建立很多審核機制):
剛剛的index.php
裡新增了一個表單讓使用者決定要新增的table名稱、欄位等
1 2 3 4 5 6
| <form action="createTable.php" method="post"> Tabel Name: <input type="text" name="tb_name"> Colume 1: <input type="text" name="col1"> Colume 2: <input type="text" name="col2"> <input type="submit" name="submit" value="建立"> </form>
|
再新增一個createTable.php
(或者可以選擇寫在同一頁,用的是htmlspecialchars($_SERVER['PHP_SELF'])
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php $conn=require_once('config.php'); if(isset($_POST["submit"])){ $tb_name=$_POST["tb_name"]; $col1=$_POST["col1"]; $col2=$_POST["col2"];
$sql="CREATE TABLE ".$tb_name." ( ".$col1." INT(6) NOT NULL PRIMARY KEY, ".$col2." VARCHAR(50))"; if(mysqli_query($conn,$sql)){ echo mysqli_info($conn); echo "Created!<br>"; } else{ echo "Failed!<br>"; echo mysqli_errno($conn); } mysqli_close($conn); } ?>
|
補充
header()的用法
1 2 3 4
| else{ echo "操作錯誤!"; header('Location:index.php'); }
|
新增資料
1 2 3 4 5
| <form action="InsertData.php" method="post"> $col1: <input type="number" name="col1_val"> $col2: <input type="text" name="col2_val"> <input type="submit" name="submit2" value="插入資料"> </form>
|
插入資料的內容與create table大同小異,注意這邊submit的name有改過
insertDate.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <?php $conn=require_once('config.php'); if(isset($_POST["submit2"])){ $col1_val=$_POST["col1_val"]; $col2_val=$_POST["col2_val"]; $sql="INSERT INTO tb2 VALUES (".$col1_val.", '".$col2_val."')"; if(mysqli_query($conn,$sql)){ echo mysqli_info($conn); echo "Inserted!<br>"; } else{ echo "Failed!<br>"; echo mysqli_errno($conn); } mysqli_close($conn);} else{ echo "操作錯誤!"; header('Location:index.php'); } ?>
|
最後完成的結果如下:
刪除或修改也是一樣的想法
只是可能是透過onclick的事件處理來執行php腳本