mysql扩展函数库_mysql扩展库操作mysql数据库

环境搭建

启用mysql扩展库,在php.ini文件中去配置mysql扩展库

extension=php_mysql.dll

查询数据库

1、建库建表

//建库test

create database test;

//用库test

use test;

//建表user1

create table user1(

id int primary key auto_increment,

name varchar(32) not null,

password varchar(64) not null,

age tinyint unsigned not null,

birthday date not null

);

//增加数据

insert into user1 (name,password,age,birthday) values ('lm',md5('lm'),25,'1991-01-02');

insert into user1 (name,password,age,birthday) values ('lxz',md5('lxz'),25,'1991-02-03');

insert into user1 (name,password,age,birthday) values ('wy',md5('wy'),25,'1991-03-04');

2、查询数据库

1 <?php2 //连接数据库

3 $conn=mysql_connect('localhost','root','root');4 //如果连接失败,报错

5 if(!$conn){6 die("连接数据库失败".mysql_error());7 }8 //选择数据库

9 mysql_select_db('test');10 //设置操作编码

11 mysql_query('set names utf8',$conn);12 //sql语句,实现查询操作

13 $sql="select * from user1";14 //执行sql语句

15 $res=mysql_query($sql,$conn);16 //对结果处理

17 while($row=mysql_fetch_row($res)){18 echo $row[0]."--".$row[1]."--".$row[2]."--".$row[3]."
";19 //var_dump($row);

20 }21 //释放资源,关闭数据库

22 mysql_free_result($res);23 mysql_close($conn);24 ?>

结果如下:

bfb6a458cac329cff2e5fa1b370ecae4.png

问题:查询不到第一行?

3、下面介绍四个结果处理函数的区别

mysql_fetch_row($res)  返回索引数组,如下:

b0b9e71bf7d0d4dc832da2a11d0d50fc.png

mysql_fetch_assoc($res)  返回关联数组,如下:

3048e7f92d836f8cce39c835664fc65f.png

mysql_fetch_array($res)  返回索引数组+关联数组,如下:

e785a9b960560e99801198c8358a28b5.png

mysql_fetch_object($res)  返回对象,如下:

b7535bd69fdf9ecf57bd9d365c64a3cf.png

增删改数据库

1 <?php2 //对数据库增删改操作,dml语句(insert,delete,upgate)3 //连接数据库

4 $conn=mysql_connect('localhost','root','root');5 //如果连接失败,报错

6 if(!$conn){7 die("连接数据库失败".mysql_error());8 }9 //选择数据库

10 mysql_select_db('test');11 //设置字符格式

12 mysql_query('set names utf8',$conn);13 //sql语句,实现增删改操作

14 $sql="insert into user1 (name,password,age,birthday) values('skl',md5('skl'),25,'1991-04-05')";15 //$sql="delete from user1 where name='skl'";16 //$sql="update user1 set age=18 where name='skl'";17 //执行sql语句

18 $res=mysql_query($sql,$conn);19 //dml语句执行后返回结果为布尔型

20 if(!$res){21 echo "操作失败".mysql_error();22 }23 if(mysql_affected_rows($conn)>0){24 echo "操作成功";25 }else{26 echo "没有影响到行数";27 }28 //关闭数据库

29 mysql_close($conn);30 ?>

把对数据库的操作封装成类

mysqlTool.class.php

1 <?php2 classMysqlTool{3 private $host="localhost";4 private $userName="root";5 private $pwd="root";6 private $dbName="test";7 private $conn;8 //连接数据库函数,构造函数(与类同名),实例化后自动调用

9 public functionMysqlTool(){10 $this->conn=mysql_connect($this->host,$this->userName,$this->pwd);11 if(!$this->conn){12 die("连接数据库失败".mysql_error());13 }14 mysql_select_db($this->dbName,$this->conn);15 mysql_query("set names utf8",$this->conn);16 }17 //dql语句,完成select

18 public function executeDql($sql){19 $res=mysql_query($sql,$this->conn) or die("操作失败".mysql_error());20 return $res;21 }22 //dml语句,完成insert,delete,update

23 public function executeDml($sql){24 $res=mysql_query($sql,$this->conn);25 if(!$res){26 return 0;//0表示操作失败

27 }else{28 if(mysql_affected_rows($this->conn)>0){29 return 1;//1表示操作成功

30 }else{31 return 2;//2表示没有行数影响

32 }33 }34 }35 //关闭数据库

36 public functionmysqlClo(){37 mysql_close($this->conn);38 }39 }40 ?>

实例化类完成查询数据库操作:

1 <?php2 //引入类文件

3 require_once "mysqlTool.class.php";4 //对类实例化

5 $mysqlTool=newMysqlTool();6 //查询数据库

7 $sql="select * from user1";8 $res=$mysqlTool->executeDql($sql);9 while($row=mysql_fetch_row($res)){10 echo $row[0]."--".$row[1]."--".$row[2]."--".$row[3]."
";11 }12 mysql_free_result($res);13 $mysqlTool->mysqlClo();14 ?>

实例化类完成增删改数据库操作:

1 <?php2 //引入类文件

3 require_once "mysqlTool.class.php";4 //对类实例化

5 $mysqlTool=newMysqlTool();6 //增删改数据库7 //$sql="insert into user1 (name,password,age,birthday) values ('skl',md5('skl'),25,'1991-04-05')";8 //$sql="delete from user1 where name='skl'";

9 $sql="update user1 set age=18 where name='skl'";10 $res=$mysqlTool->executeDml($sql);11 if($res==0){12 echo "操作失败";13 }else if($res==1){14 echo "操作成功";15 }else if($res==2){16 echo "没有行数影响";17 }18 $mysqlTool->mysqlClo();19 ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用C语言的MySQL数据库操作,需要先进行以下几个步骤: 1. 下载并安装MySQL C API。可以从MySQL官方网站下载MySQL C API的安装包,然后进行安装。 2. 在C语言程序中引入MySQL C API的头文件。在C语言程序中,需要引入MySQL C API的头文件,如mysql.h。 3. 创建MySQL连接。使用mysql_init函数创建一个MySQL连接,并使用mysql_real_connect函数连接到MySQL服务器。 4. 执行SQL语句。使用mysql_query函数执行SQL语句,如SELECT、INSERT、UPDATE等。 5. 处理查询结果。如果执行的SQL语句是SELECT,则可以使用mysql_store_result和mysql_fetch_row函数来处理查询结果。 6. 关闭MySQL连接。使用mysql_close函数关闭MySQL连接。 下面是一个示例代码,用于连接MySQL数据库并查询一条记录: ``` #include <stdio.h> #include <stdlib.h> #include <mysql.h> int main(int argc, char *argv[]) { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "123456"; char *database = "test"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } if (mysql_query(conn, "SELECT * FROM student WHERE id = 1")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_store_result(conn); row = mysql_fetch_row(res); printf("id: %s, name: %s, age: %s\n", row[0], row[1], row[2]); mysql_free_result(res); mysql_close(conn); return 0; } ``` 上述代码连接到MySQL服务器,选择test数据库,并查询id为1的学生记录。如果连接或查询失败,则会输出错误信息。如果查询成功,则会输出该学生的id、name和age字段的值。最后,关闭MySQL连接并退出程序。 当然,具体的数据库操作还需要根据实际需求进行调整和完善,如异常处理、批量操作等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值