【php】php操作MySQL数据库
一、操作步骤:
1. 连接MySQL数据库并判断是否连接成功
2. 选择数据库
3. 设置字符集
4. 准备SQL语句
5. 向MySQL服务发送SQL语句
6. 解析处理结果集
7. 释放结果集,关闭数据库连接
二、常用操作:
1. mysqli_connect();--连接数据库,并返回一个连接资源
格式: mysql_connect(主机名,用户,密码);
--其中参数可选,若不写则参考php.ini中默认配置
2. mysqli_error(); --获取刚刚(最后)执行数据库操作的错误信息
3. mysqli_errno(); --获取刚刚(最后)执行数据库操作的错误号
错误号为0表示没有错误
4. mysqli_select_db(数据库名[,数据库连接]);
选择一个数据库,等同于"use 库名"语句
5. mysqli_set_charset(字符编码); --设置字符编码
例如:mysql_set_charset("utf8"); 等同于:mysql_query("set names utf8");
6. mysqli_query(sql语句[,数据库连接]); -- 发送一条sql语句
sql语句若是查询,则返回结果集,其他则返回boolean值表示执行是否成功。
7. 解析结果集函数:
mysqli_fetch_array(); --以关联和索引两种方式数组解析结果集
也可以指定第二参数来定义返回格式:
MYSQL_BOTH(0关联和索引)/MYSQL_NUM(2索引)/MYSQL_ASSOC(1关联)
mysqli_fetch_row(); --以索引式数组解析结果集
*mysqli_fetch_assoc(); --以关联式数组解析结果集
mysqli_fetch_object(); --以对象方式解析结果集
8. mysqli_free_result(结果集名); --释放结果集
9. mysqli_close(数据库连接); --关闭数据库连接
10. mysqli_num_rows(结果集); --获取结果集中的数据条数
11. mysqli_num_fields(结果集); --获取结果集中的列数(字段数量)
12. mysqli_result(); --定位取结果
echo mysql_result($result,0,3)."<br/>"; //获取第1条数据的第4列中的值
echo mysql_result($result,1,2)."<br/>"; //获取第2条数据的第3列中的值
echo mysql_result($result,5,4)."<br/>"; //获取第6条数据的第5列中的值
13.mysqli_affected_rows — 取得前一次 MySQL 操作所影响的记录行数
关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
14. mysqli_insert_id — 取得上一步 INSERT 操作产生的 ID
//在php当中操作mysql数据库的六脉神剑 //1.连接数据库服务器,并判断是否成功 mysqli_connect(服务器地址,用户名,密码[,数据库名]);
$link = mysqli_connect('localhost','root',''); //2.设置字符集 mysqli_set_charset(数据库服务器对象,要设置的编码类型);
mysqli_set_charset($link,'utf8'); //3.选择数据库 mysqli_select_db(数据库服务器对象,数据库服务器中的指定的数据库名);
mysqli_select_db($link,'lamp183'); //4.输入增、删、改、查sql语句,并发送执行 mysqli_query(数据库服务器对象,sql语句);
$sql = 'select * from stu';
$result = mysqli_query($link,$sql);
var_dump($result); //5.解析结果集 mysqli_num_rows(query发送sql语句之后的对象结果集),会得到查询出数据的总条数;
if($result!=false && mysqli_num_rows($result)>0){ //遍历获取每一条数据的数组 mysqli_fetch_assoc(query发送sql语句之后的对象结果集),会得到每一条数据的数组
while($rows = mysqli_fetch_assoc($result)){
var_dump($rows);
}
} //6.关闭数据库,释放结果集
mysqli_free_result($result);
mysqli_close($link);
//六脉神剑操作数据库 //1.连接数据库服务器,并判断
$link = mysqli_connect('localhost','root','')or die('数据库连接失败!'); //2.设置字符集
mysqli_set_charset($link,'utf8'); //3.选择数据库
mysqli_select_db($link,'lamp183'); //4.定义增、删、改sql语句,并发送执行 //定义添加数据的sql语句(发送之后返回布尔型真或假)
$sql = "insert into stu (name) values ('jingfei')";
$bool = mysqli_query($link,$sql); //获取上一条插入成功的数据的id号
$id = mysqli_insert_id($link); //定义删除数据的sql语句
$sql = "delete from stu where id=2";
$bool = mysqli_query($link,$sql); //定义修改数据的sql语句
$sql = "update stu set name='haibo' where name='haibo'";
$bool = mysqli_query($link,$sql); //5.判断是否执行成功 mysqli_affected_rows(对象结果集):返回增删改sql语句执行成功之后的影响行数,如果失败返回-1
if($bool!=false && mysqli_affected_rows($link)>0){
echo "<script>alert('恭喜,添加成功!');window.location.href='3.php'</script>";
} //6.关闭数据库
mysqli_close($link);
【php】php操作MySQL数据库的更多相关文章
- PHP操作MySQL数据库5个步骤
PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- 转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...
- PHP操作mysql数据库:[2]查询数据听语音
本文主要详细讲解如何使用php语言,对mysql数据库进行查询.添加.删除.更新等操作. 工具/原料 Macromedia Dreamweaver 8 mysql数据库,php语言 一.前言 ...
- Code First操作Mysql数据库
前面博客也讲了,自己做一个网站,选用的是MVC+EF Code First+MySql+EasyUI,先说下技术选型.一.为什么选择MVC? 因为之前自己做的系统大部分是webForm,MVC的之前也 ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- shell脚本操作mysql数据库
shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql -hhostname -Pport -uusername -pp ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- 使用node js 操作 Mysql 数据库
使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...
- 批处理操作mysql数据库
批处理操作mysql数据库 1.使用批处理自动登录mysql数据库 @echo offcd C:\program files\mysql\mysql server 5.5\binmysql -u ro ...
随机推荐
- react 装 router - yarn add react-router-dom@next
react 装 router yarn add react-router-dom@next
- PyQt5UI文件转换为对应版本的py文件
PyQt5 UI文件转换为对应版本的py文件 #coding=utf-8 ''' PyQt5 UI文件转换为对应版本的py文件 python -m PyQt5.uic.pyuic untitled.u ...
- JDBC工具类实现登陆验证-Java(新手)
JDBC工具类: package cn.chuang.JdbcDome; import java.sql.*; public class JdbcUtilss { private static fin ...
- CSS每日学习笔记(2)
7.31.2019 1.CSS定位:允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置. CSS 有三种基本的定位机制:普通流.浮动和绝对定位.除非专 ...
- Redis基本数据类型、数据持久化、过期策略及淘汰机制
一点技术.技术乐享!!! 如果有人问你:Redis这么快,他的“多线程模式”你了解吗? 请回答他:您是想问Redis这么快,为什么还是单线程模式吗? redis是什么 简单来说redis是C语言开发的 ...
- WordCount程序(Java)
Github项目地址:https://github.com/softwareCQT/web_camp/tree/master/wordCount 一.题目描述 实现一个简单而完整的软件工具(源程序特征 ...
- springboot集成axis1.4
1.首先通过axis工具根据wsdl文件生成java代码和wsdd文件 set Axis_Lib=/Users/apple/configuration/axis-1_4/lib //lib文件目录se ...
- JavaScript 模式》读书笔记(4)— 函数2
这篇,我们仍旧继续学习函数. 二.回调模式 函数都是对象,这表示它们可以作为参数传递给其它函数. function writeCode(callback) { // 执行一些事务... callbac ...
- Django之Cookie,Session
COOKIE Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- 树莓派4B踩坑指南 - (13)用samba建立家庭局域网共享中心
树莓派在家中至少三个作用:家庭资源共享中心.无线打印服务器.下载服务器. 家庭资源共享中心用samba实现家庭局域网共享,树莓派4B的话可以接2个3.0的移动硬盘. 实测速度不快,Win读2Mb/s写 ...