PHP+Mysql

1MYSQL复习

新建一个数据库

Create database hlw2016;

删除一个数据库

Drop database hlw2016;

创建一个表

Create table student (

Id Int not null primary key,

Name varchar(20),

Sex varchar(20),

Class varchar(20)

插入一条数据

INSERT INTO `student`VALUES (3,'刘志雄',1402,'男');

查询数据

Select * from student;

SELECT class FROM student;

SELECT class AS '班级' FROM student

条件查询

SELECT * FROM `student` WHERE class =1401

更新数据

Update student set name=’钟奇奇’where name = ‘钟琪琪’;

删除数据

Delete from student where name = ‘黄志鹏’;

对查询结果进行分组

SELECT classFROM `student` GROUP BY class

对查询结果进行限定

Limit having

Limit :限定查询返回的记录条数。Limit 3 :表示的意思是显示查询结果中的前三条

Limit 0,30 :表示从查询结果中的第一行开始,返回10行记录。

Having:通常与group by一起使用 。having子句也用来设置某种产讯条件,与where不同的是,他在select语句查询出结果之后才开始做条件限定。

MySQL的数据类型

数据类型

说明

INT

整型,整数值

Real

浮点数值

Char

定长字符类型

VARCHAR

变长字符串

TEXT

文本类型

DATE

日期

TIME

时间值

MYSQL中的运算符

运算符

说明

=

比较运算符,比较两个值是否相等

!=或<>

比较运算符,比较两个值是否不相等

比较运算符,小于

大于

<=

小于等于

>=

大于等于

+

算术运算符,求和

-

求差

*

求积

/

求商

AND

逻辑运算符,与

OR

NOT

MYSQL中模式匹配

% 匹配任意数量的字符

*匹配*前面的字符的0个过多个,例子:cof*e 匹配的是coffe 、cofffe

^匹配的是^h后面的字符 例子^MySQL匹配的是 MySQL Guide、MySQL基础。

.匹配的是任意的单个字符 例子:.ike匹配的是like、bike、

MySQL中的函数

常用的函数有:

COUNT(),用来统计表中记录个数或这列中值得个数SELECT COUNT( * ) FROM `student`

MAX(),某列中的最大值

MIN(),某列中的最小值

SUM(),求和

AVG(),指定列的平均值

LENGTH(),计算字符串的长度

SUBSTRING(),截取子字符串

YEAR(),返回指定的日期的年份

UNIX_TIMESTAMP(),返回一个UNIX时间戳

DATA_FIRMAT(),将一个日期格式化

NOW(),返回的是MYSQL服务器系统的当前日期和时间。

2使用PHP操作MySQL数据库

2.1操作MySQL的php函数

Php访问MySQL数据库步骤:

上述的步骤中涉及到的操作MySQL的函数有:连接数据库和关闭数据库

在php中有这个函数mysql_connect()

mysql_connect($server, $username, $password, $new_link, $client_flags)

第一个参数:$server 代表的是连接的MySQL数据库服务器,可以给这个参数附加端口号。

第二个参数:$username 是连接MySQL服务器的用户名

第三个参数:$password 该用所使用的数据库密码

第四个参数:$new_link是可选参数,表示的是是否在下次使用同样的参数调用mysql_connect()时,建立一个与MySQL的新的连接,该参数是bool型变量

第五参数:$client_flags 表示客户端连接服务器的类型,几乎不用。

如果成功的建立了一个连接,mysql_connect()会返回一个MySQL的连接标识符,否则的话返回FALSE;

$conn = mysql_connect("localhost","root","123456");//建立数据库连接

mysql_close($conn);//关闭上面的连接

 

2.2执行SQL语句的函数

mysql_querry();

2.3处理查询结果集的函数

在php中,当一个SQL语句执行完毕后,通常需要对查询结果集做处理,处理的函数主要有:

mysql_affected_rows():取得前一次MySQL操作所影响的记录行数,如果执行成功,返回上一次SQL语句执行所影响的行数,否则返回-1;

mysql_fetch_row($result);参数$result是执行mysql_querry()之后返回的资源标识符。该函数从查询结果集中返回一行数据,该函数返回值是一个数组,其中每个元素对应一行结果记录的字段值。

mysql_fetch_array($result,$type); 参数$result是执行mysql_querry()之后返回的资源标识符。该函数从结果集中返回一行作为关联数组,$type这个参数用来指定返回数组的类型值(MYSQL_ASSOC、MYSQL_NUM、MYSQL_BOTH)

mysql_fetch_assoc($result); 参数$result是执行mysql_querry()之后返回的资源标识符。只不过函数枝江结果集作为关联数组返回。

2.4获取字段信息的函数

mysql_fetch_field($result); 参数$result是执行mysql_querry()之后返回的资源标识符。返回的是一个对象。对的属性有:

name:字段名

table:该字段所在的表明

max_length:该字段的最大长度

 

2.5数据库操作的其他函数

mysql_select_db($database_name);连接上数据库之后,可以使用该函数选择一个数据库。参数是所选择使用的数据库名;

mysql_num_rows($result);用来取得结果集的行数,记录数。

mysql_error();返回最近一次MYSQL操作所产生的错误文本信息,如果没有错,返回空字符串。

3使用PHP连接MYSQL数据库

3.1建立和数据库的连接

<?php

$host = 'localhost';//定义服务器

$user_name = 'root';//定义用户名

$password = '123456';//定义密码

 

$conn = mysql_connect($host,$user_name,$password);

 

if(!$conn){

    die('数据库连接失败:'.mysql_error());

}else {

   

    echo "数据库连接成功!";

}

3.2持久连接和临时连接

mysql_pconnect():会查找一个在同一主机上使用相同用户名和密码已经建立的连接,如果找到,该函数就返回此连接,而不是创建一个新的连接

当php的程序执行完毕之后,使用mysql_pconnect()建立的MYSQL连接不会被关闭,mysql_close()也不关闭。所以这个叫作持久连接。

3.3关闭连接

<?php

$host = 'localhost';//定义服务器

$user_name = 'root';//定义用户名

$password = '123456';//定义密码

 

$conn = mysql_connect($host,$user_name,$password);

 

if(!$conn){

    die('数据库连接失败:'.mysql_error());

}else {

   

    echo "数据库连接成功!";

}

 

if(mysql_close($conn)){

    echo "数据库的连接已经成功关闭!";

}

 

4使用PHP显示MySQL中的数据

在PHP中建立了MySQL连接之后,执行SQL语句查询数据库中的数据,然后通过PHP处理查询到的结果集,或者通过整理将这些数据显示到web页面中。

4.1在PHP中执行SQL语句

要从数据库中获取数据,首先PHP要执行一条对表操作的SQL语句,包括SELECT、INSERT、UPDATE、DELETE。一般情况下,在php中执行select语句,会从表中查找出一些记录。

<?php

$host = 'localhost'; // 定义我们的服务器

$user_name = 'root'; // 定义MySQL的用户名

$password = '123456'; // 密码

 

$conn = mysql_connect($host, $user_name, $password); // 与我们的MySQL连接上

                                                   // 判断有没有连接成功,如果失败的话,报出错误信息

if (! $conn) {

    die('数据库连接失败:' . mysql_error());

}

// 连接成功以后,选择我们的数据库。

mysql_select_db('hlw2016');

// 定义我们的查询语句,注意,一般这里的语句先要在数据库中进行验证,有结果。

$sql = 'select id,name,class from student';

// 执行SQL语句,并且获取到我们的查询结果。

$result = mysql_query($sql);

// 因为要是执行mysql_query函数发生错误的话,$result的值就是false。

if ($result) {

    echo 'SQL语句:' . $sql . '<br>已经执行成功!';

    // 统计出这个SQL语句执行完毕后共有几条数据。

    $num = mysql_num_rows($result);

    echo '<br>该SQL语句查询到' . $num . '条数据!';

}

// 关闭数据库连接。

mysql_close($conn);

 

Mysql_error()函数与mysql_query()函数一起使用,当出现问题的时候把SQL语句的问题报出

<?php

$host = 'localhost'; // 定义我们的服务器

$user_name = 'root'; // 定义MySQL的用户名

$password = '123456'; // 密码

 

$conn = mysql_connect($host, $user_name, $password); // 与我们的MySQL连接上

                                                   // 判断有没有连接成功,如果失败的话,报出错误信息

if (! $conn) {

    die('数据库连接失败:' . mysql_error());

}

// 连接成功以后,选择我们的数据库。

mysql_select_db('hlw2016');

// 定义我们的查询语句,注意,一般这里的语句先要在数据库中进行验证,有结果。

$sql = 'select id,name,class from studen';

// 执行SQL语句,并且获取到我们的查询结果。

$result = mysql_query($sql) or die("<br>ERROR:".mysql_error()."<br>产生问题的SQL语句是".$sql);

// 因为要是执行mysql_query函数发生错误的话,$result的值就是false。

if ($result) {

    echo 'SQL语句:' . $sql . '<br>已经执行成功!';

    // 统计出这个SQL语句执行完毕后共有几条数据。

    $num = mysql_num_rows($result);

    echo '<br>该SQL语句查询到' . $num . '条数据!';

}

// 关闭数据库连接。

mysql_close($conn);

 

输出结果集中的第一行数据

<?php

$host = 'localhost'; // 定义我们的服务器

$user_name = 'root'; // 定义MySQL的用户名

$password = '123456'; // 密码

 

$conn = mysql_connect($host, $user_name, $password); // 与我们的MySQL连接上

                                                     // 判断有没有连接成功,如果失败的话,报出错误信息

if (! $conn) {

    die('数据库连接失败:' . mysql_error());

}

// 连接成功以后,选择我们的数据库。

mysql_select_db('hlw2016');

// 定义我们的查询语句,注意,一般这里的语句先要在数据库中进行验证,有结果。

$sql = 'select id,name,class from student';

// 执行SQL语句,并且获取到我们的查询结果。

$result = mysql_query($sql) or die("<br>ERROR:" . mysql_error() . "<br>产生问题的SQL语句是" . $sql);

// 因为要是执行mysql_query函数发生错误的话,$result的值就是false。

if ($num = mysql_num_rows($result)) {

    // 将结果集中的一行作为数组返回

    echo "<pre>";

    $row = mysql_fetch_array($result);

    print_r($row);

}

 

// if ($result) {

// echo 'SQL语句:' . $sql . '<br>已经执行成功!';

// // 统计出这个SQL语句执行完毕后共有几条数据。

// $num = mysql_num_rows($result);

// echo '<br>该SQL语句查询到' . $num . '条数据!';

// }

// 关闭数据库连接。

mysql_close($conn);

 

输出结果集中的所有数据

<?php

$host = 'localhost'; // 定义我们的服务器

$user_name = 'root'; // 定义MySQL的用户名

$password = '123456'; // 密码

 

$conn = mysql_connect($host, $user_name, $password); // 与我们的MySQL连接上

                                                     // 判断有没有连接成功,如果失败的话,报出错误信息

if (! $conn) {

    die('数据库连接失败:' . mysql_error());

}

// 连接成功以后,选择我们的数据库。

mysql_select_db('hlw2016');

// 定义我们的查询语句,注意,一般这里的语句先要在数据库中进行验证,有结果。

$sql = 'select id,name,class from student';

// 执行SQL语句,并且获取到我们的查询结果。

$result = mysql_query($sql) or die("<br>ERROR:" . mysql_error() . "<br>产生问题的SQL语句是" . $sql);

// 因为要是执行mysql_query函数发生错误的话,$result的值就是false。

if ($num = mysql_num_rows($result)) {

    // 将结果集中的一行作为数组返回

   

    echo "<pre>";

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

        print_r($row);

    }

}

 

// if ($result) {

// echo 'SQL语句:' . $sql . '<br>已经执行成功!';

// // 统计出这个SQL语句执行完毕后共有几条数据。

// $num = mysql_num_rows($result);

// echo '<br>该SQL语句查询到' . $num . '条数据!';

// }

// 关闭数据库连接。

mysql_close($conn);

 

 

4.2向web页面中显示数据

上面的例子中已经将结果显示在web页面中了,但是并不符合开发需求,显示出来的仅仅是我们的一个数组,接下来我们来完善一下这个输出。

<?php

$host = 'localhost'; // 定义我们的服务器

$user_name = 'root'; // 定义MySQL的用户名

$password = '123456'; // 密码

 

$conn = mysql_connect($host, $user_name, $password); // 与我们的MySQL连接上

                                                     // 判断有没有连接成功,如果失败的话,报出错误信息

if (! $conn) {

    die('数据库连接失败:' . mysql_error());

}

// 连接成功以后,选择我们的数据库。

mysql_select_db('hlw2016');

// 定义我们的查询语句,注意,一般这里的语句先要在数据库中进行验证,有结果。

$sql = 'select id,name,class from student';

// 执行SQL语句,并且获取到我们的查询结果。

mysql_query("SET NAMES UTF-8");

$result = mysql_query($sql) or die("<br>ERROR:" . mysql_error() . "<br>产生问题的SQL语句是" . $sql);

// 因为要是执行mysql_query函数发生错误的话,$result的值就是false。

?>

<html>

<head>

<meta chatset='utf-8'>

<title>向WEB中显示数据</title>

</head>

<body>

 

  <table width="75%" border=1>

     <tr>

       <td>ID</td>

       <td>name</td>

       <td>class</td>

     </tr>

<?php

 

if ($num = mysql_num_rows($result)) {

    // 将结果集中的一行作为数组返回

   

    echo "<pre>";

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

       

        ?>

<tr>

       <td><?php echo $row['id'];?></td>

       <td><?php echo iconv("gbk", "utf-8", $row['name']) ;?></td>

       <td><?php echo $row['class'];?></td>

 

     </tr>

<?php

    }

}

// if ($result) {

// echo 'SQL语句:' . $sql . '<br>已经执行成功!';

// // 统计出这个SQL语句执行完毕后共有几条数据。

// $num = mysql_num_rows($result);

// echo '<br>该SQL语句查询到' . $num . '条数据!';

// }

// 关闭数据库连接。

mysql_close($conn);

 

?>

</table>

</body>

</html>

分页显示

<?php

$host = 'localhost';

$user_name = 'root';

$password = '123456';

 

$conn = mysql_connect($host, $user_name, $password);

if (! $conn) {

   

    die('数据库连接失败:' . mysql_error());

}

 

mysql_select_db('hlw2016');

 

if (isset($_GET['page'])) {

    $page = $_GET['page'];

} else {

    $page = 1;

}

 

$page_size = 2;

 

$sql = "select id, name, class from student";

 

$result = mysql_query($sql);

 

$total = mysql_num_rows($result);

 

if ($total) {

    if ($total < $page_size) {

        $page_count = 1;

    }

    if ($total % $page_size) {

        $page_count = (int) ($total / $page_size) + 1;

    } else {

        $page_count = $total / $page_size;

    }

} else {

    $page_count = 0;

}

 

$turn_page = '';

if ($page == 1) {

    $turn_page .= '首页|上一页';

} else {

    $turn_page .= '<a href = demo4.php?page=1>首页</a>|<a href = demo4.php?page=' . ($page - 1) . '>上一页</a>|';

}

 

if ($page == $page_count || $page_count == 0) {

    $turn_page .= '下一页|尾页';

} else {

    $turn_page .= '<a href=demo4.php?page=' . ($page + 1) . '>下一页</a>|<a href = demo4.php?page='.$page_count.'>尾页</a>';

}

 

$sql = 'select id,name,class from student limit ' . ($page - 1) * $page_size . ',' . $page_size;

 

$result = mysql_query($sql) or die("<br>执行SQL语句的时候发生错误," . mysql_error() . "<br>发生错误的SQL语句是:" . $sql);

 

if ($num = mysql_num_rows($result)) {

   

    ?>

 

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'>

<html>

<head>

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>

<title>PHP分页显示</title>

</head>

 

<body>

  <table width="75%" border="1" cellpadding="20px" cellspacing="0">

     <tr>

       <th>id</th>

       <th>name</th>

       <th>class</th>

     </tr>

<?php

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

        ?>

    <tr>

       <td><?php echo $row['id']?></td>

       <td><?php echo iconv("GBK", "UTF-8", $row['name'])?></td>

       <td><?php echo $row['class']?></td>

     </tr>

    <?php

    }

}

echo $turn_page;

mysql_close($conn);

?>

</table>

</body>

</html>

 

4.3使用PHP维护MySQL数据库的数据

4.3.1增——从页面中获取数据并且插入到数据库中

首先我们建立一个表单

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'>

<html>

<head>

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>

<title>注册</title>

 

</head>

<body>

 

  <form action="demo1.php" method="post" name="form">

     <table width="75%" border="1" cellpadding="20px" cellspacing="0">

       <tr>

         <td>id</td>

         <td><input id="id" type="text" name="id"></td>

       </tr>

       <tr>

         <td>name</td>

         <td><input id="name" type="text" name="name"></td>

       </tr>

       <tr>

         <td>class</td>

         <td><select id="class" name="class">

              <option value="1401">1401</option>

              <option value="1402">1402</option>

         </select></td>

       </tr>

       <tr>

         <td>sex</td>

         <td><input id="sex" type="radio" name="sex" value="">男&nbsp;&nbsp;&nbsp;&nbsp;<input

            type="radio" id="sex1" name="sex" value="">女</td>

       </tr>

       <tr>

         <td><input type="reset" value="重置"></td>

         <td><input type="submit" value="提交"></td>

       </tr>

 

     </table>

 

 

  </form>

</body>

 

</html>

处理数据

<?php

$host = 'localhost';

$user_name = 'root';

$password = '123456';

 

$id = $_POST['id'];

$name =iconv("utf-8", "gbk", $_POST['name']);

$class = $_POST['class'];

$sex = iconv("utf-8", "gbk", $_POST['sex']);

 

if(empty($id) || empty($name)){

    echo '请填写id和用户名<a href="index.php">返回</a>';

    exit;   

}

 

$conn = mysql_connect($host,$user_name,$password);

 

if (!$conn){

    die("数据库连接失败".mysql_error());

}

 

mysql_select_db("hlw2016");

 

$sql = "INSERT INTO `student`(`id`, `name`, `class`, `sex`) VALUES ('$id','$name','$class','$sex')";

 

mysql_query($sql) or die("<br>ERROR:".mysql_error()."<br>SQL:".$sql);

 

mysql_close($conn);

 

echo "数据插入成功!";

 

4.3.2改——根据表单内容修改数据库数据

<?php

$host = 'localhost';

$user_name = 'root';

$password = '123456';

 

$id = $_POST['id'];

$name =iconv("utf-8", "gbk", $_POST['name']);

$class = $_POST['class'];

$sex = iconv("utf-8", "gbk", $_POST['sex']);

 

// if(empty($id) || empty($name)){

//     echo '请填写id和用户名<a href="index.php">返回</a>';

//     exit;

// }

 

$conn = mysql_connect($host,$user_name,$password);

 

if (!$conn){

    die("数据库连接失败".mysql_error());

}

 

mysql_select_db("hlw2016");

 

// $sql = "UPDATE  `student` SET  `name` =  '$name',`class` =  '$class',`sex` =  '$sex' WHERE id =11";

$sql = "DELETE FROM `student` WHERE id = 11";

mysql_query($sql) or die("<br>ERROR:".mysql_error()."<br>SQL:".$sql);

 

mysql_close($conn);

 

echo "数据删除成功!".$_POST['id'].$name.$class;

 

个人博客系统

个人博客系统结构与页面

实现个人博客系统主要是对数据库进行读、写、更新、删除操作。

用户访问博客主页面,备课主页面将读取数据库中的所有博客日志记录并进行分页显示,如果数据库中没有任何日志记录,将显示相关的提示文字。

博客管理可以通过单击“管理登陆”链接,转到博客管理登陆页面,输入用户名和密码,登陆博客管理页面,在博客管理页面中同样会显示数据库中的所有日记。单击“添加博客日志”链接,转到“添加日志”页面,添加新的博客日志,在添加日志的页面中可以通过单击“编辑”和“删除”链接,修改或删除数据库中的某条日志。单击“推出管理”链接,推出博客管理界面,返回博客系统主页面。

180447_uzWt_1998430.png

在博客系统架构中主要有7个页面,分别如下:

index.php(博客首页)

该页面用于显示博客的内容信息,用户可以单击感兴趣的链接访问博客。

dhow.php(详细内容显示页面)

该页面接受URL传递的id参数,在数据库中查询到对应的博客数据记录,并在该页面中显示该条博客的具体内容。

login.php(博客管理登陆页面)

该页面为个人博客管理登陆页面,在该页面中的表单填写相应的信息可以登录到个人博客管理页面。

admin.php(博客管理主显示页面)

该页面的作用是显示数据库的博客主题记录,并在每条信息后提供“编辑”和“删除”操作链接。

add_blog(添加博客日志页面)

该页面为添加博客日志页面,该页面提交的信息将被添加到数据库,并显示在用户管理界面。

updata_blog.php(修改博客日志界面)

该页面接受URL传递的id参数,在数据库中查询到对应的数据记录,在该页面中显示该数据记录的相关内容,并且可以直接更新数据库中该条信息的记录。

del_blog.php(删除博客日志页面)

该页面接受URL传递的id参数,在数据库中查询到对应的数据记录,并在数据库中将该条信息删除。

个人博客数据库设计

个人博客的数据库结构比较简单,共创建两个数据表,分别是admin(后台管理用户)和blogdata(博客日志数据)。

Admin表

字段

类型

长度

整理

Username

Varchar

11

Utf8_general_ci

Password

Varchar

11

Utf8_general_ci

Blogdata表

字段

类型

长度

整理

Id

Int

11

 

Title

varchar

100

Utf8_general_ci

Date

Date

 

 

Type

Text

100

Utf8_general_ci

Content

Text

 

Utf8_general_ci

 

 

 

 

转载于:https://my.oschina.net/hunk0503/blog/743256

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值