php作为一门后台语言必须要与mysql数据库打交道,做到将内容存储到数据库以及数据库数据读写的操作,那么下面就来说下最近学习的一些东西:
在具体将之前先说一下编码的问题,很多情况会发现php内容显示在浏览器里会有编码问题,同时前台存储到数据库表中的中文字信息也会出现乱码问题,那么这里有几个地方要注意:
1、header("Content-Type: text/html;charset=utf-8");//强行指定页面的编码,以避免乱码
在php在前面插入这句话,可以避免php在页面中出现乱码
2、ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf-8这句话是在创建数据库表的时候,结尾加的一句话,可以避免数据库的读取的乱码问题
3、在mysql_select_db()之后加上一句mysql_query("set names 'utf8'");可以避免写入数据库乱码问题
mysql的数据读写,分为以下几个部分:
1、链接数据库
$con=mysql_connect("localhost","root"," ");
上面一句是创建了一个mysql的连接,同时试图连接到localhost,也就是127.0.0.1上,同时访问该数据库,账号是:root,密码为空,我们可以进行一些判断,来检查是否数据库链接成功
if(!$con){
die('数据库链接失败'.mysql_error());
}else{
echo '数据库链接成功';
}
2、创建一个数据库
通过mysql_query()方法来执行数据库语句
mysql_query("create database phpone",$con);其中$con为一个链接标示符
那么通过上面这句话,我们就创建了一个名为phpone的数据库,同时我们可以通过navivat等数据库工具,看到自己所创建的数据库
3、光有数据库还不够,我们需要的是数据库中的各种表格,那么这一步就是创建数据库表(分为两步)
第一:在创建数据库表之前,我们需要选择到所创建的数据库上,可能你的服务器上有很多歌数据库。
mysql_select_db("phpone",$con);
第二部:创建数据库表,因为数据库语句可能比较多,我们可以通过赋值的方式来写
$sql="create table personinfo( personID int not null auto_increment,//创建主键,作为唯一标示符,为整型,自动增长 primary key(personID),//设置主键为personID字段名 name varchar(15),//设置name为一个大小可变的字符长度为15的字符 age int,//定义age字段为整型 regist date//定义regist为日期型,ps最后一个结尾的没有逗号 )ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf-8";
mysql_query($sql,$con);
那么通过上面的方法,我们就创建一个数据库表
4、往数据库里面存入数据
mysql_query(insert into personinfo (name,age,regist) values ("小李",'23',''2012-09-26));//那么通过这句话,我们就成功的在数据库表中插入了一条数据
那么其实通过这些讲解,一个基本的表单提交的注册信息,同时存储到指定数据库表中的实现过程基本就呈现出来了,可以去试验一下
$_POST['name'] $_POST['age'] $_POST['regist'],通过将这三个数据插入到数据库的语句中,那么每次当点击提交submit按钮的是哦胡就会在指定的数据库中插入一条信息,其实可以做到更好,比如很多用户不喜欢填写注册时间,那么这些东西
后台数据库可以替他生成,通过传一个$data=date("Y-m-d");就可以实现简单的自动填写注册时间