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 獲取文件數組post
$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數據,保存在全局變量裏.spa
$username = $_POST['username']; $nickname = $_POST['nickname']; $age = $_POST['age']; $tel = $_POST['tel']; $sex = $_POST['sex']; $class = $_POST['class']; $photo = ""; // 圖片地址
2.4 準備SQL語句,進行數據庫寫入操做:插入數據code
$sql = "insert into stu (name, nickname, age, tel, sex, photo, classid) values ('$username', '$nickname', $age, '$tel', '$sex', '$photo', $class)";
2.5 判斷是否插入成功,並進行跳轉操做orm
//封裝執行數據庫的方法 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 更新數據庫blog
//得到數據的惟一標識 $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文件的方法.