php数据库的操作

笔记

数据库基本操作

1.链接数据库
资源 mysql_connect(服务器地址,用户名,密码)
mysql_connect 默认对一个服务器只连接一次
再次连接返回相同资源

如果需要建立多次连接,多次新连接
mysql_connect('','','',true);

2.设置连接编码
mysql_query('');
mysql_set_charset('');

3.选定需要使用的数据库
mysql_quert();
mysql_select_db();

4.操作数据库,增删改查


5.关闭连接,主动释放资源
但是php脚本会自动释放
mysql_close($link);

----------------------------
数据库增删改
mysql_query(),返回true/false

inser/delete/update


-----------------------------
数据库查询
mysql_query(‘select...’);
show/desc等

数据返回的两种情况
成功:返回结果集,返回结果集为空也是正确的
失败:false

bool值为空也是返回成功

获取结果的行数
mysql_num_rows();

解析结果集
转换为php能解析的格式
把每条数据转换为数组返回
然后指针下移,直到移除结果集

mysql_fetch_assoc();
获取关联数组
表的表单名字为数组下标,元素值为数组元素


mysql_fetch_row();
获取索引数组
只获取数据的值,数组下标从0开始
自动索引

mysql_fetch_array();
获取关联或者索引,默认同时存在
一个记录取两次,形成一组为关联数组
                    一组为索引数组
可以使用第二个参数
MYSQL_ASSOC只获取关联数组
MUSQL_NUM  只获取索引数组
MYSQL_BOTH 获取两种


-------------------------------
相关函数
mysql_num_fields()获取指定结果集中所有的字段数
mysql_field_name()指定结果集中指定位置的字段名字

有关出错的函数
错误由mysql_query()这个函数的返回值判断
mysql_error();获取出错对应的提示信息


echo "mysql is bad!".mysql_error();

mysql_errno();获取出错对应的错误提示代号
echo "error number :".mysql_errno().'<br/>';


--------------------------------
mysql_insert_id();
获取上次插入操作的自增长ID
没有就自增长

添加,更新,查询我是分开写的

先创建一个数据库和表

create database news charset utf8;

create table n_news(
	id int primary key auto_increment,
	title varchar(50) not null comment '新闻标题',
	istop tinyint not null comment '是否置顶',
	content text comment '内容',
	publiser varchar(20) not null comment '发布人',
	pub_time int not null comment '发布时间'
);

databases.php是用来初始化的

<?php

header('content-type:text/html;charset=utf-8');
//数据库初始化
//连接数据库
mysql_connect('127.0.0.1:3306','root','root') or die('数据库连接失败');

//设定字符集
mysql_query('set names utf8');

//选择数据库
mysql_query('use news');


?>

insert.php

<?php
include_once 'databases.php';

//组织sql指令
$pub_time=time();


//添加
//{}独立的使用里面的变量
$sql = "insert into n_news values(null,'adsda',1,'程序员','admin',{$pub_time})";
if(mysql_query($sql)){
	//成功
	echo "insert OK!";
}else{
	//失败
	echo "insert bad!";
}



?>

select.php

<?php
include_once 'databases.php';

//组织sql指令
$pub_time=time();


//添加
//{}独立的使用里面的变量
$sql = "delete from n_news where id = 1";
if(mysql_query($sql)){
	//成功
	echo "delete OK!";
}else{
	//失败
	echo "delete bad!";
}



?>

select.php

<?php
//数据库查询

include_once 'databases.php';

$sql = "select * from n_news";

$res = mysql_query($sql);


//显示多少行数据
$rows = mysql_num_rows($res);

//解析结果
$row = mysql_fetch_assoc($res);
//把每条数据当做数组返回
//表单名称为数组下标,元素为数组元素

//自动索引,下标从0开始,数据值为元素
$row = mysql_fetch_row($res);


//两种同时获取
$row = mysql_fetch_array($res,MYSQL_BOTH);
echo "<prev>";
print_r($row);
echo "<hr/>";

//只获取表名为数组下标
$row = mysql_fetch_array($res,MYSQL_ASSOC);
echo "<prev>";
print_r($row);
echo "<hr/>";

//只获取自动索引
$row = mysql_fetch_array($res,MYSQL_NUM);
echo "<prev>";
print_r($row);
echo "<hr/>";

?>

updae.php

<?php
include_once 'databases.php';

//组织sql指令
$pub_time=time();
$i=4324;

//更新的时候通常根据ID进行更新
//{}独立的使用里面的变量
$sql = "update n_news set pub_time = $i where id = 2";
if(mysql_query($sql)){
	//成功
	echo "update OK!";
}else{
	//失败
	echo "update bad!";
}



?>

find.php

<?php
include_once 'databases.php';

$sql = "select * from n_news";
$res = mysql_query($sql);

//查看错误的提示信息




//查询当前结果集中所有的字段数量
//就是表单名的个数
echo mysql_num_fields($res);

//指定结果集指定位置的字段名
//位置从0开始
echo mysql_field_name($res, 1);

$pub_time=time();
$sql = "insert into n_news values(null,'adsda',1,'程序fff员','admin',{$pub_time})";
$res = mysql_query($sql);
if(!$res){
	echo "error number :".mysql_errno().'<br/>';
	echo "mysql is bad!".mysql_error().'<br/>';
	exit();//出错就停止不准继续执行
}

echo mysql_insert_id();
?>

猜你喜欢

转载自blog.csdn.net/Lonelyhat/article/details/92375565