《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';");

 

posted @ 2016-01-08 01:17  暖风叔叔  阅读(272)  评论(0)    收藏  举报