PHP操作MySQL数据库

3 篇文章 1 订阅

PHP操作MySQL数据库

前言

在正式开始学习前,我们需要开启mysqli扩展,使用phpinof()你可以看到如下展示就说明开启成功:

在这里插入图片描述
若没有看到mysqli扩展在windows服务器下,打开php.ini文件,将php_mysqli.dll打开即可。

注意:

从PHP7开始默认不再支持mysql扩展,即不再支持mysql_*系列函数。请使用mysqli连接数据库。

mysqli即支持php5也支持php7。

创建表结构:

mysql> create table if not exists users (
    ->    id int(10) unsigned primary key auto_increment not null,
    ->    username varchar(30),
    ->    password varchar(100),
    ->    createtime varchar(40) not null,
    ->    createip binary(16)
    -> );
Query OK, 0 rows affected (0.02 sec)

index.html 代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>PHP操作MySQL数据库</title>
</head>

<body>

<form action="connect.php" 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>

</body>

</html>

connect.php代码如下:

<?php

if (trim($_POST['password']) != trim($_POST['repassword'])) {

    exit('两次密码不一致,请返回上一页');

}

$username = trim($_POST['username']);

$password = md5(trim($_POST['password']));

$time = time();

$ip = $_SERVER['REMOTE_ADDR'];

$conn = mysqli_connect('localhost', 'root', '123456');

//如果有错误,存在错误号
if (mysqli_errno($conn)) {

    echo mysqli_error($conn);

    exit;
}

mysqli_select_db($conn, 'php');

mysqli_set_charset($conn, 'utf8');

$sql = "insert into users(username,password,createtime,createip) 
values('" .$username. "','" .$password. "','" .$time. "','".$ip."')";
//echo $sql.PHP_EOL;
$result = mysqli_query($conn, $sql);

if ($result) {
    echo '数据写入成功'.PHP_EOL;

} else {
    echo '数据写入失败';

}

echo '当前用户插入的ID为:' . mysqli_insert_id($conn);

mysqli_close($conn);

?>

list.php代码如下:

<?php

$conn = mysqli_connect('localhost', 'root', '123456', 'php');

if (mysqli_errno($conn)) {
    mysqli_error($conn);
    exit;
}

mysqli_set_charset($conn, 'utf8');

$sql = "select id,username,createtime,createip from users order by id desc";
//进行降序排序
$result = mysqli_query($conn, $sql);

if ($result && mysqli_num_rows($result)) {
//查询出来的行数可以使用mysqli_num_rows。这个函数要求传入$result查询的结果变量。
//如果有结果则显示列表,如果没有结果我们产生一句提示即可。

   echo '<table width="800" border="1">';

   while ($row = mysqli_fetch_assoc($result)) {
//使用到的函数是mysqli_fetch_assoc,返回的会是一个关联数组。
//这个函数读取一个结果集,会向后移动一次。读取到最后没有结果的时候会返回bool值的false。因此,我们选择while来配合mysqli_fetch_assoc。
//每次循环的结果赋值给$row,$row中是关联数组。因此我在这次循环中,可以将行和列都显示出来。
       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);

?>

end

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值