0

0

php基础七之php操作数据库

不言

不言

发布时间:2018-04-23 09:53:55

|

1742人浏览过

|

来源于php中文网

原创

这篇文章介绍的内容是关于php基础七之php操作数据库,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

<!-- 第十三章php操作数据库 -->
<?php
//     $sql = "insert into money(username,age) values('bao3', 25)";
//     $con = mysqli_connect("localhost","root","root");
//     if (!$con) {
//         die('Could not connect:'.mysql_error());
//     }
//     echo '连接成功!';
    
    
//     mysqli_select_db($con, 'mytest');
//     $result = mysqli_query($con, $sql);
//     var_dump($result);
//     mysqli_close($con)
?>

<form action="" method="post">
    用户名:<input type="text" name="username" /><br />
    密码:<input type="password" name="password" /><br />
  重复密码:<input type="password" name="repassword" /><br />
  <input type="submit" value="提交" />
</form>

<?php
    if (trim(@$_POST['password']) != trim(@$_POST['repassword'])) {
        exit('两次密码不一致,请返回上一页');
    }
    
    @$username = trim($_POST['username']);
    @$password = md5(trim($_POST['password']));
    @$time = date('ymd',time());
    $ip = $_SERVER['REMOTE_ADDR'];
    $conn = mysqli_connect('localhost', 'root', 'root');
    if (mysqli_error($conn)) {
        echo mysqli_error($conn);
        exit;
    }
    
    mysqli_select_db($conn, 'book');
    mysqli_set_charset($conn, 'utf-8');
    mysqli_set_charset($conn, 'gb2312');
    $sql = "insert into user(username,password,createtime,createip)
         values('".$username."','".$password."','".$time."','".$ip."')";
    $result = mysqli_query($conn, $sql);
    if ($result) {
        echo '成功';
    }else {
        echo '失败';
    }
    
    echo '当前用户插入的ID为'.mysqli_insert_id($conn);
    mysqli_close($conn);
?>

<!-- 做一个列表显示 -->
<?php
    $conn = mysqli_connect('localhost', 'root', 'root', 'book');
    if (mysqli_errno($conn)) {
        mysqli_error($conn);
        exit;
    }
    mysqli_set_charset($conn, 'utf8');
    mysqli_set_charset($conn, 'gb2312');
    $sql = "select id,username,createtime,createip from user order by id desc";
    $result = mysqli_query($conn, $sql);
    if ($result && mysqli_num_rows($result)) {
        echo '<table width="800" border="1">';
        while ($row = mysqli_fetch_assoc($result)){
            echo '<tr>';
            echo '<td>'.$row['username'].'</td>';
            echo '<td>'.@date('Y-m-d H:i:s', $row['createtime']).'</td>';
            echo '<td>'.long2ip($row['createip']).'</td>';
            echo '<td><a href="edit.php?id='.$row['id'].'">编辑用户</a></td>';
            echo '<td><a href="delete.php?id='.$row['id'].'">删除用户</a><td/>';
            echo '</tr>';
        }
        echo '</table>';
    }else {
        echo '没有数据';
    }
    mysqli_close($conn);
?>

<!-- 把用户做个分页 -->
<?php
// 做一个配置文件config.php
//数据库服务器
define('DB_HOST', 'localhost');
//数据库用户名
define('DB_USER', 'root');
//数据库密码
define('DB_PWD', 'secret');
//库名
define('DB_NAME', 'book');
//字符集
define('DB_CHARSET', 'utf8');
?>
<?php
// connection.php
include 'config.php';
$conn = mysqli_connect('DB_HOST', 'DB_USER', 'DB_PWD', 'DB_NAME');
if (mysqli_error($conn)) {
    mysqli_error($conn);
    exit;
}
mysqli_set_charset($conn, DB_CHARSET);
?>
<?php
    include 'connection.php';
    $count_sql = 'select count(id) as c from user';
    $result = mysqli_query($conn, $count_sql);
    $data = mysqli_fetch_assoc($result);
    $count = $data['c'];
    
    $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
    
//     if (isset($_GET['page'])) {
//         $page = (int) $_GET['page'];
//     }else {
//         $page = 1;
//     }
    
    $num = 5;
    $total = ceil($count / $num);
    if ($page <= 1) {
        $page = 1;
    }
    if ($page >= $total) {
        $page = $total;
    }
    $offset = ($page - 1) * $num;
    
    $sql = "select id,username,createtime,createip from user order by id desc
       id desc limit $offset,$num";
    $result = mysqli_query($conn, $sql);
    if ($result && mysqli_num_fields($result)) {
       echo '<table width="800" border="1">' ;
       while ($row = mysqli_fetch_assoc($result)){
           echo '<tr>';
           echo '<td>'.$row['username'].'</td>';
           echo '<td>'.date('Y-m-d H:i:s',$row['createtime']).'</td>';
           echo '<td>'.long2ip($row['createip']).'</td>';
           echo '<td><a herf="edit.php?id='.$row['id'].'">编辑用户</a></td>';
           echo '<td><a herf="delete.php?id='.$row['id'].'"></a></td>';
           echo '</tr>';
       }
       echo '<tr>
             <td colspan="5">
             <a herf="page.php?page=1">首页</a>
             <a href="page.php?page='.($page - 1).'">上一页</a>
             <a herf="page.php?page='.($page + 1).'">下一页</a>
             <a herf="page.php?page='.$total.'">页尾</a>
                        当前是第'.$page.'页 共'.$total.'页
             </td>
             </tr>';
       echo '</table>';
    }else {
        echo '没有数据';
    }
    mysqli_close($conn);
?>
<!-- 批量和指定删除用户 -->
<?php
    include 'connection.php';
    if (is_array($_POST['id'])) {
        $id = join(',', $_POST['id']);
    }elseif (is_numeric($_GET['id'])){
        $id = (int) $_GET['id'];
    }else {
        echo '数据不合法';
        exit;
    }
    $sql = "delete from user where id in($id)";
    $result = mysqli_query($conn, $sql);
    if ($result) {
        echo '删除成功';
    }else {
        echo '删除失败';
    }
?>
<!-- 修改用户信息 -->
<?php
//edit.php
    include 'connection.php';
    if (is_numeric($_GET['id'])) {
        $id = (int) $_GET['id'];
    }
    $sql = "select id,username from user where id=".$id;
    $result = mysqli_query($conn, $sql);
    $data = mysqli_fetch_assoc($result);
?>
<?php
    //update.php
    include 'connection.php';
    $id = (int) $_POST['id'];
    if (trim($_POST['password'])) {
        $password = md5(trim($_POST['password']));
        $sql = "update user set password='".$password."' where id = $id";
    }else {
        echo '修改成功';
    }
    $result = mysqli_query($conn, $sql);
    if ($result) {
        echo '修改成功';
    }
?>
<form action="update.php" method="post">
    用户名:<input type="text" name="username" value="<?php echo $data['username'];?>" readonly/><br /> 
    密码:<input type="password" name="password" /><br />
  <input type="hidden" value="<?php echo $data['id'];?>" name="id" />
  <input type="submit" value="提交" />    
</form>


<!-- 数据显示乱码终极解决办法 -->
<?php
//     解决乱码问题的核心思想 ,就是:一定要多个不同的文件系统中一定要统一编码。
//     9个要点分别是:
//     1.html编码与MySQL编码一致
//     2.PHP编码与MySQL编码一致
//     3.若有header头发送字符集,请与数据库一样
//     4.<meta http-equiv="Content-Type"content="text/html;charset=utf-8">
//       要和页面文字编码一致
//     5.数据库建库的字符集要统一
//     6.表的字符集要统一
//     7.列的字符集要统一(表设了列就默认写表的)
//     8.连接,校验的字符集要统一
//     9.结果集的字符集要统一



?>

相关推荐:

php基础六之错误处理

php基础五之图像处理

Keevx
Keevx

一款专为海外中小企业和创作者打造的AI数字人视频创作平台

下载

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

391

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2113

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

359

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

259

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

329

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

420

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

480

2023.10.16

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

231

2023.10.19

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号