PHP学习笔记之三 数据库基本操作
2015-01-24信息快讯网
本文介绍最基本最实用的数据库操作。首先简单复习下MySQL的使用方法,并且建好一张表备用。MySQL在Linux系统上一般都是装好的,在win下安装也很简单,不多做介绍。
下面是在Linux上登录mysql,创建数据库和创建表的过程。yin@yin-Ubuntu10:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 360
Server version: 5.1.41-3ubuntu12.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database UseCase;
Query OK, 1 row affected (0.00 sec)
mysql> use UseCase;
Database changed
mysql> create table User(UserName varchar(20) primary key,Password varchar(20) not null,CreateTime timestamp default current_timestamp);
Query OK, 0 rows affected (0.01 sec)下面就来建立一个页面来完成新建用户的页面。首先是一个简单的表单:
<form action="db.php" method="post"> <dl> <dt>UserName</dt><dd><input name="UserName" maxlength="20" type="text"/></dd> <dt>Password</dt><dd><input name="Password" maxlength="20" type="password"/></dd> <dt>Confirm Password</dt><dd><input name="ConfirmPassword" maxlength="20" type="password"/></dd> </dl> <input type="submit" name="ok" value="ok"/> </form>
PHP通过$_POST数组来获得通过post方法提交的表单中的数据。在PHP程序中,我们首先要判断是有OK字段,从而判断出该页面是首次访问,还是用户点击OK后提交的,接着判断两次密码输入是否统一。然后就可以获取到用户名和密码,插入数据库中。PHP连接MySQL数据库一般可以利用mysql扩展或者mysqli扩展,mysqli扩展比较新一点,这里我们采用这种方式。mysqli可能需要安装配置下,不过在我的环境中是默认装好的。利用mysqli扩展操作数据库一般分为如下几步:构造mysqli对象,构造statement,绑定参数,执行,关闭。代码如下:
<?php $match=true; if(isset($_POST["ok"])) { $pwd=$_POST["Password"]; $pwdConfirm=$_POST["ConfirmPassword"]; $match=($pwd==$pwdConfirm); $conn=new mysqli("localhost","root","123","UseCase"); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $query="insert into User(UserName,Password) values(?,?)"; $stmt=$conn->stmt_init(); $stmt->prepare($query); $stmt->bind_param('ss',$name,$pwd); $name=$_POST["UserName"]; $pwd=$_POST["Password"]; $stmt->execute(); if($stmt->errno==0) { $success=true; }else { $success=false; } $stmt->close(); $conn->close(); } ?>
其中bind_param方法需要稍微解释下,第一个参数的含义是参数类型。每个字符对应一个参数,s表示字符串,i表示整数,d表示浮点数,b表示blob。最后,再为这个页面添加一点提示信息:
<?php if(!$match) { ?> <p>Password and Confirm Password must match.</p> <?php } ?> <?php if(isset($success)) { if($success) { echo '<p>User Created Successfully!'; }elseif($sucess==false) { echo '<p>User Name existed.'; } } ?>
再接下来,我们编写一个用户列表页面。
<table> <tr><th>User Name</th><th>CreateTime</th><th>Action</th> </tr> <?php include 'conn.php'; $query="select * from User;"; $res=$mysql->query($query); while($row=$res->fetch_array()) { ?> <tr> <td><?= $row['UserName'] ?></td> <td><?= date('Y-m-d',strtotime($row['CreateTime']))?> </td> <td><a href="UserEdit.php?action=update&ID=<?= $row['UserName'] ?>">Edit</a> <a href="action=delete&ID=<?= $row['UserName'] ?>">Delete</a> </td> </tr> <?php } $res->close(); $mysql->close(); ?> </table>
php注销代码(session注销)
PHP中使用mktime获取时间戳的一个黑色幽默分析
php分页思路以及在ZF中的使用
php DOS攻击实现代码(附如何防范)
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
PHP 第二节 数据类型之转换
PHP 第二节 数据类型之数组
PHP 第二节 数据类型之字符串类型
PHP 第二节 数据类型之数值型
PHPMYADMIN导入数据最大为2M的解决方法
php入门之连接mysql数据库的一个类
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
数据库中排序的对比及使用条件详解
PHP备份数据库生成SQL文件并下载的函数代码
mysql数据库差异比较的PHP代码
php短域名转换为实际域名函数
PHP学习笔记之二
PHP学习笔记之一
php下连接mssql2005的代码
Php Image Resize图片大小调整的函数代码
php生成随机密码的几种方法
PHP JSON格式数据交互实例代码详解
php数据库密码的找回的步骤
PHP备份/还原MySQL数据库的代码
PHP中=赋值操作符对不同数据类型的不同行为
几款免费开源的不用数据库的php的cms
PHP操作XML作为数据库的类
PHP访问MYSQL数据库封装类(附函数说明)