1.1 form表單的數據收集php
HTML頁面:mysql
代碼解釋:核心模塊是form的屬性:sql
2.1 經過$_FILES 超全局變量,獲取圖像數據:數據庫
二維數組,能夠獲取表單上傳的提交數據內容.數組
Array
(
[photo] => Array
(
[name] => picture.jpg 提交的文件名
[type] => image/jpeg 文件類型
[tmp_name] => C:\Users\Jepson\AppData\Local\Temp\phpBF97.tmp 臨時存儲的路徑
[error] => 0 錯誤碼, 若是是 0 表示沒有錯誤
[size] => 17552 文件大小, 單位 字節 17kb 左右
)
)複製代碼
2.2 PHP的圖像轉存: // 1 獲取文件數組bash
$file = $_FILES['photo'];
if ( $file['error'] === 0 ) { // 2 須要轉存文件
$ftmp = $file['tmp_name']; // 3 獲取臨時文件路徑
// 4 截取後綴名
$name = $file['name'];
$ext = strrchr( $name, "." );
// 5 隨機生成文件名
$newName = time().rand(10000, 99999).$ext;
// 6 轉存文件
move_uploaded_file( $ftmp, "./upload/".$newName );
}複製代碼
2.3 經過$_POST超全局變量獲取post數據,保存在全局變量裏.post
$username = $_POST['username'];
$nickname = $_POST['nickname'];
$age = $_POST['age'];
$tel = $_POST['tel'];
$sex = $_POST['sex'];
$class = $_POST['class'];
$photo = ""; // 圖片地址複製代碼
2.4 準備SQL語句,進行數據庫寫入操做:插入數據ui
$sql = "insert into stu (name, nickname, age, tel, sex, photo, classid) values ('$username', '$nickname', $age, '$tel', '$sex', '$photo', $class)";複製代碼
2.5 判斷是否插入成功,並進行跳轉操做spa
//封裝執行數據庫的方法
function my_exec( $sql ) {
// 1. 鏈接數據庫
$link = @ mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' );
if ( !$link ) {
echo "數據庫鏈接失敗";
return false;
//2 . 執行 sql, 執行的是 查詢, 成功:結果集, 失敗:false
$res = mysqli_query( $link, $sql );
if ( !$res ) { // 失敗了
echo mysqli_error( $link ); // 打印錯誤信息
mysqli_close( $link );
return false;
}
}
//執行數據庫語句
if ( my_exec( $sql ) ) {
echo "添加成功";
// 跳轉到 學生列表php文件
header('location:studentList.php');
}
else {
echo "添加失敗";
}
複製代碼
2.6 更新數據庫3d
//得到數據的惟一標識
$id = $_GET['id'];
//準備查詢語句
$sql = "select * from stu where id = $id"; // 準備 sql 語句
//執行查詢語句
$res = mysqli_query( $link, $sql );複製代碼
PHP方法註解:
1 mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' ); PHP連接指定數據庫的方法.
2 mysqli_close( $link ); 數據庫使用完畢後,關閉數據庫連接的方法,不能省略.
3 mysqli_query( $link, $sql ); 執行 sql, 執行的是查詢, 成功輸出結果集, 失敗返回false.
4 mysqli_error( $link ); php打印錯誤信息的方法
5 header("location: studentList.php"); php跳轉到指php文件的方法.