- PHP有三种方式操作MySQL数据库
1.MySQL扩展库
2.mysqli扩展库
3.pdo
- MySQL数据库和MySQL扩展库的区别
***MySQL数据库是用于存放数据的,指的数DBMS(数据库管理系统),
可以存放多个数据对象(表、存储过程、函数…)
ddl:数据定义语言,dml:数据操作语言增删改查,返回bool值,
dql:select语句,dtl:数据事务语句
***MySQL扩展库是一些函数,是PHP语言设计者提供给程序员用于
完成MySQL数据库的各种操作(crud)
- 使用PHP的MySQL扩展库操作MySQL
1.启用MySQL扩展库,在php.ini文件中配置启用extension=php_mysql.dll
2.创建一张用户表,就在PHPadmin中建表插入数据(此处设置数据库名为:123;表为:user1,表中有id,name,password,age属性,其中id是主键,自增)
3.PHP代码演示查询:
sql1.php
<?php
//****操作数据库*****
//1.连接数据库
$conn=mysql_connect("localhost","root","root1142495240");
if (!$conn){
die("链接失败".mysqli_error());
}else {
echo "链接成功";
}
//2.选择数据库
mysql_select_db("123");
//3.设置操作编码(最好有)
//4.向数据库发送指令
//(ddl:数据定义语言,dml:数据操作语言增删改查,dql:select语句,dtl:数据事务语句)
$sql="select * from user1";
$res=mysql_query($sql, $conn);
//5.接收返货结果并处理
//第一种取法
while ($row=mysql_fetch_row($res)){
//$row是一个数组
echo "<br>$row[0]--$row[1]--$row[2]";
}
//第二种取法
while ($row=mysql_fetch_row($res)){
foreach ($row as $key=>$val){
echo "--$val";
}
echo "<br>";
}
//6.释放资源,关闭链接
mysql_free_result($res);
//这句话可以没有,建议有
mysql_close($conn);
注意
1.使用$$res后,及时释放资源
2.mysql_close()如果没有,系统也会自动关闭
3.链接数据库后接着关闭链接也可以取值
4.从$res获取行数据的时候,除了mysql_fetch_row($res)只返回索引数组(下标01234),
还有三个方法,分别是:
mysql_fetch_assoc($res) 返回一个关联数组(下标是表名)
mysql_fetch_array($res) 返回一个索引数组和关联数组
mysql_fetch_object($res) 返回一个对象
********************************************.
增删改演示
SQL2.php
<?php
//演示对user1表进行增删改操作
//删: $sql="delete from user1 where id=数";
//更新:$sql="updata user1 set age=100 where id = 数值";
$conn=mysql_connect("localhost","root","root1142495240");
if (!$conn){
die("链接数据库出错la".mysql_error());
}
mysql_select_db("123",$conn);
mysql_query("set names utf8");
$sql="insert into user1 (name,password,age) values('小明','1111','55')";
$res=mysql_query( $sql,$conn);
if (!$res){
echo "操作失败".mysql_error();
}else {
echo "操作成功";
}
mysql_close($conn);