《Php笔记1.10》PHP 与 MySQL——php代码增删改查
MySQL 介绍与使用
本课讲解 MySQL 基本知识以、PhpMyAdmin 的作用以及常用的操作 MySQL 的基本知识。(也可用navicat等管理工具)
创建数据库一般用utf8_gneral_ci


PHP 操作 MySQL
本课讲解如何使用 PHP 代码连接 MySQL 数据库、操作 MySQL 数据库。
1 <?php 2 3 $conn = mysql_connect('localhost', 'root', 'root'); //连接用户 4 mysql_query("set character set 'utf8'");//读库 ,解决中文读取乱码 5 mysql_query("set names 'utf8'");//写库 6 7 if($conn){ //连接成功 8 9 mysql_select_db('woodk', $conn); //选择库 10 11 $result = mysql_query("SELECT * FROM user"); //读取数据 12 13 $data_count = mysql_num_rows($result); //数据条数 14 for($i=0; $i<$data_count; $i++){ //循环输出所有数据 15 $arr = mysql_fetch_assoc($result); //读取一条数据 16 print_r($arr); 17 print_r(json_encode($arr)); //数组转换成JSON格式 18 echo '<br>'; 19 } 20 21 /*高效获取数据条数*/ 22 $result = mysql_query("SELECT COUNT(*) FROM user WHERE name = '张三'"); 23 if($result){ 24 $result_arr = mysql_fetch_array($result); 25 echo '数据条数:'.$result_arr[0]; 26 }else{ 27 echo '查询失败'; 28 } 29 30 31 }else{ 32 echo '连接失败'; 33 } 34 35 ?>
输出结果:
Array ( [id] => 1 [name] => 张三 [age] => 20 ) {"id":"1","name":"\u5f20\u4e09","age":"20"}
Array ( [id] => 2 [name] => 李四 [age] => 18 ) {"id":"2","name":"\u674e\u56db","age":"18"}
Array ( [id] => 4 [name] => 猪仔 [age] => 3 ) {"id":"4","name":"\u732a\u4ed4","age":"3"}
Array ( [id] => 5 [name] => 孔子 [age] => 88 ) {"id":"5","name":"\u5b54\u5b50","age":"88"}
Array ( [id] => 6 [name] => 小英 [age] => 23 ) {"id":"6","name":"\u5c0f\u82f1","age":"23"}
数据条数:1
用户数据查询
本课讲解如何使用 PHP 连接 MySQL 数据库查询用户数据,并呈现在前端页面中。
config.php: 定义常量
<?php define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'root'); define('MYSQL_PW', 'root'); define('MYSQL_NAME', 'woodk');
functions.php: 定义常用数据库连接函数
<?php require_once 'config.php'; function connectDb(){ $conn = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PW); mysql_select_db(MYSQL_NAME); return $conn; }
allusers.php: 查询数据并以html输出
1 <?php 2 require_once 'functions.php'; 3 ?> 4 <!DOCTYPE html> 5 <html> 6 <head> 7 <meta charset="UTF-8"> 8 <title>所有用户</title> 9 </head> 10 <body> 11 <?php 12 13 $conn = connectDb(); 14 mysql_query("set character set 'utf8'");//读库 ,解决中文读取乱码 15 mysql_query("set names 'utf8'");//写库 16 $result = mysql_query("SELECT * FROM user"); 17 $data_count = mysql_num_rows($result); 18 19 echo '<ul>'; 20 echo '<li>'; 21 echo '<span>id</span><span>姓名</span><span>年龄</span>'; 22 echo '</li>'; 23 for($i=0; $i<$data_count; $i++){ //循环输出所有数据 24 $arr = mysql_fetch_assoc($result); //读取一条数据 25 26 $id = $arr['id']; 27 $name = $arr['name']; 28 $age = $arr['age']; 29 30 echo '<li>'; 31 echo '<span>'.$id.'</span><span>'.$name.'</span><span>'.$age.'</span>'; 32 echo '</li>'; 33 } 34 echo '</ul>'; 35 36 ?> 37 38 <style> 39 span{width:60px;display: inline-block;text-align:center;} 40 </style> 41 </body> 42 </html>

用户数据添加与防 SQL 注入攻击
本课讲解如何使用 PHP 向数据库中添加用户数据,并且讲解在操作过程中如何防止 SQL 注入攻击。
adduser.html:
<form action="adduser.php" method="post"> <div> 用户名字: <input type="text" name="name"> </div> <div> 用户年龄: <input type="text" name="age"> </div> <input type="submit" value="添加用户"> </form>
adduser.php:
1 <?php 2 3 if(!isset($_POST['name'])){ 4 die('user name not define'); 5 } 6 if(!isset($_POST['age'])){ 7 die('user age not define'); 8 } 9 10 $name = $_POST['name']; 11 if(empty($name)){ 12 die('user name is empty'); 13 } 14 $age = $_POST['age']; 15 if(empty($age)){ 16 die('user age is empty'); 17 } 18 19 require_once 'functions.php'; 20 21 connectDb(); 22 $age = intval($age); //转换类型,防止SQL注入 23 mysql_query("INSERT INTO user(name,age) VALUES ('$name',$age)"); //$name加引号,防止SQL注入 24 25 if(mysql_errno()){ 26 echo mysql_error(); 27 }else{ 28 header("Location:allusers.php"); 29 }
修改用户数据
本课讲解如何使用 PHP 修改数据库中的用户数据,并且呈现在页面中。
edituser.php: 查询出数据,显示到表单,修改提交到edituser_server.php执行修改操作
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>编辑用户</title> 6 </head> 7 8 <?php 9 10 require_once 'functions.php'; 11 12 if(!empty($_GET['id'])){ 13 14 connectDb(); 15 16 $id = intval($_GET['id']); 17 18 $result = mysql_query("SELECT * FROM user WHERE id = $id"); 19 if(mysql_errno()){ 20 die('can not connect db'); 21 } 22 23 $arr = mysql_fetch_assoc($result); 24 //print_r($arr); 25 $name = $arr['name']; 26 $age = $arr['age']; 27 28 }else{ 29 die('id not define'); 30 } 31 32 ?> 33 34 <body> 35 <form action="edituser_server.php" method="post"> 36 <input type="hidden" name="id" value="<?php echo $id?>"> 37 <div> 38 名字: 39 <input type="text" name="name" value="<?php echo $name?>"> 40 </div> 41 <div> 42 年龄: 43 <input type="text" name="age" value="<?php echo $age?>"> 44 </div> 45 <input type="submit" value="确定修改"> 46 </form> 47 </body> 48 </html>
edituser_server.php: 获取POST参数,执行数据修改
1 <?php 2 3 if(empty($_POST['id'])){ 4 die('user id is empty'); 5 } 6 7 if(empty($_POST['name'])){ 8 die('user name is empty'); 9 } 10 if(empty($_POST['age'])){ 11 die('user age is empty'); 12 } 13 14 require_once 'functions.php'; 15 16 $id = intval($_POST['id']); 17 $name = $_POST['name']; 18 $age = intval($_POST['age']); 19 20 21 connectDb(); 22 mysql_query("UPDATE user SET name = '$name', age = $age WHERE id = '$id';"); 23 24 if(mysql_errno()){ 25 echo mysql_error(); 26 }else{ 27 header("Location:allusers.php"); 28 }
删除用户数据
本课讲解如何使用 PHP 删除数据库中的记录,并且将结果呈现在页面中。
mysql_query("DELETE FROM user WHERE id = '$id';");

浙公网安备 33010602011771号