网页点击的,提交的内容,交给PHP,然后PHP把写入插入到数据库。【文章添加,发贴,用户注册,删除用户,编辑文章,查看内容】或者显示出来,修改。
数据库连接
1, 连接数据库
2, 测试是否有错误
3, 设置字符集
4, 选择数据库
5, 准备SQL语句
6, 发送SQL语句
7, 判断是否成功,如果是查询则是遍历数据
8, 关闭数据库
函数:
Mysql_connect
连接
Mysql_pconnect
持久连接
Mysql_connect 需要先建立连接,使用完成就断开。
Mysql_pconnect 减少连接,效率更高。但是同时并发的最大连接数并少了
Mysql_errno()
返回连接时的错误号,如果连接成功,则无错误号,如果连接失败,则是整型的错误号。
在执行失败处echo mysql_error() 它会显示最后一个mysql错误
受影响行:
Mysql_affected_rows() 查询几条行数受影响。
拿到用户插入的ID,在放到其它表里面去。
Mysql_fetch_array() 里面传入查询出来的结果集资源。
读一次向下走一次,返回的记录是一个数组,这个数组当中有索引有关联。
索引,查询的字段顺序。而关联是字段名。
我们通常用关联较多,索引需要数数,烦。所以直接用关联。
MYSQL_ASSOC 只有关联
Mysql_fetch_array(资源, MYSQL_ASSOC) 等价于mysql_fetch_assoc() 返回查询结果的关联数组表示
Mysql_fetch_array(资源, MYSQL_NUM) 等价于 mysql_fetch_row() 返回查询出来的索引数组
MYSQL_BOTH 默认值,即有索引,又有关联。
Mysql_fetch_object() 以对象形式进行处理
mysql_num_rows 也是返回查询的行数
mysql_get_server_info 能够判断用户的mysql版本是不是5.0系列的。
form.html
<form action="conn.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>
conn.php
<?php
/*
* 1,@
* 2,php.ini display_error
* 3,php.ini E_ALL
*
* ini_set
* error_reporting
*
* 第一,html页面编码 utf-8
* 第二,meta charset =utf-8
* 第三,php 编码要为utf-8并且不准用带bom头的
* 第四,数据库的编码
* 第五,表的编码
*
* mysql_set_charset('utf8');
*/
if(trim($_POST['password'])!=trim($_POST['repassword'])){
exit('两次密码不致');
}
$username=trim($_POST['username']);
$password=md5(trim($_POST['password']));
$time=time();
//第一步连接
$conn=mysql_connect('localhost','root','123haha');
//第二步判断错误
if(mysql_errno()){
echo '连接失败,失败原因'.mysql_error();
}
//第三步设置字符集
mysql_set_charset('utf8');
//第四步选择库
mysql_select_db('emo');
//第五步准备SQL语句
//$sql="insert into 3ser(username,password,createtime,a) values('武','个','$time')";
$sql="insert into 3ser(username,password,createtime) values('{$username}','{$password}','{$time}')";
//$sql='insert into 3ser(username,password,createtime) values("'.$username.'","'.$password.'","'.$time.'")';
// 第六步发送SQL语句
//语句,分为两类,第一类 DQL select 它最终是有查询结果的。
//
//update delete insert 没有查询结果,无结果,但是有受影响的行SQL语句
//$sql="delete from 3user where id>100";
//$sql="update 3user set password='123456' where id=1";
$result=mysql_query($sql);
if($result&&mysql_affected_rows()){
echo '插入成功';
echo mysql_insert_id().'将这个ID更新到里面';
}else{
echo '插入失败';
}
mysql_close($conn);
?>
config.php
<?php
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PWD','123haha');
define('DB_CHARSET','utf8');
define('DB_NAME','3o');
define('TIMEZONE','Asia/chongqing');
?>
cx.php
<?php
include 'config.php';
//error_reporting(0);
date_default_timezone_set(TIMEZONE);
$conn=mysql_connect(DB_HOST,DB_USER,DB_PWD);
if(mysql_errno()){
echo '连接失败'.mysql_error();
}
mysql_set_charset(DB_CHARSET);
mysql_select_db(DB_NAME);
$sql="select id,username,password,createtime from 3ser";
$result=mysql_query($sql);
if(5.0>mysql_get_server_info()){
exit('您的数据库版本过低');
}
/*
for($i=0;$i<mysql_num_fields($result);$i++){
echo mysql_field_name($result,$i).'<br>';
}
*/
if($result&&mysql_affected_rows()){
//$row=mysql_fetch_array($result)
echo '<table width="800" border="1">';
while($row=mysql_fetch_object($result)){
echo '<tr>';
echo '<td>'.$row->id.'</td>';
echo '<td>'.$row->username.'</td>';
echo '<td>'.$row->password.'</td>';
echo '<td>'.date('Y年m月d日 H时i分s秒',$row->createtime).'</td>';
echo '</tr>';
}
echo '</table>';
echo '查询出来了'.mysql_num_rows($result).'条记录';
}else{
echo '没有数据或查询失败';
}
?>