php和mySQL结合使用
首先,我建立了一个名为class的表,里面有cid,cname,cnum,我想用php代码来实现这一效果,步骤如下:
1.链接数据库
mysqli_set_charset($coon,"utf8") or die(mysqli_error($coon))
通过mysqli_connect方法来链接数据库,后面的参数为(“localhost”,"root"),
Mac的为(“127.0.0.1”,“root”,密码),返回一个资源类型
$coon = mysqli_connect("localhost","root");
2.选择数据库
通过mysqli_select_db方法来查询数据库,如果库不存在的话,防止错误,在后面加一个die函数,mysqli_error为获取错误信息
mysqli_select_db($coon,"jereh") or die(mysqli_error($coon));
3.设置字符编码
有两种方法进行编码设置:
方法一:mysqli_set_charset方法
mysqli_set_charset($coon,"utf8") or die(mysqli_error($coon))
方法二:mysqli_query方法
mysqli_query($coon,"set names utf8")
4.执行插入一条语句
首先我们需要先将mySQL的命令行写入一个字符串当中,然后运行mysqli_query方法,如果是增删改的操作,则得到一个布尔类型的结果,我们可以对这个结果进行进一步的操作
例:对以上表进行增加一条信息的操作
$inserSql = "insert into class(cname,cnum)values('4班',100)";
$result = mysqli_query($coon,$inserSql) or die(mysqli_error($coon));
if($result){
echo "数据插入成功";
}else{
echo "数据插入失败";
}
好,那么我们来说一下查询的时候怎么用插入语句,
此时的mysqli_query返回的是得到的查询到结果集,前面都是一样的语句
$result = "select * from class";
$end = mysqli_query($conn,$result);
得到结果集以后呢,我们需要对她进行转换,然后进行遍历,然后进行进一步的操作
转换方法有四个:
mysqli_fetch_array() 返回索引和关联的混合数组
mysqli_fetch_assoc() 返回关联数组
mysqli_fetch_row() 返回索引数组
mysqli_fetch_object() 返回一个对象
我们可以根据情况选择上面的某一个方法,但是不建议使用第一个;能力越大,责任越大;能干的活越多,效率也就越低,所以我以mysqli_fetch_assoc()为例来写代码,为什么需要遍历呢,因为得到的是默认的第一条,再次显示的时候游标下移,显示第二条,我们利用这一特性可以进行while循环,代码如下:
while($as=mysqli_fetch_assoc($end)){ //返回一个关联数组,array(关联,索引数组),assoc(关联数组),row(索引数组),object(对象)
echo "{$as['cid']}{$as['cname']}{$as['cnum']}";
}
简单的php和mySQL结合代码就是酱紫了,2333333333,“哈哈哈哈哈哈哈哈刀哈哈哈哈哈哈”
php和mySQL结合使用的更多相关文章
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- mysql每秒最多能插入多少条数据 ? 死磕性能压测
前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...
- LINUX篇,设置MYSQL远程访问实用版
每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- 闰秒导致MySQL服务器的CPU sys过高
今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- 当忘记mysql数据库密码时如何进行修改
因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...
随机推荐
- sql增删改查封装
App.config文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> ...
- 第一个Hibernate 程序
使用MyEclipse建立Hibernate工程 index页面的Jsp源文件 <%@ page language="java" import="java.util ...
- 个推-推送hello world
最近项目中的一个百度推送真是把我搞的有点头大,真的是很垃圾,到达率又低,还特么遇上停止维护了... 所以项目决定转用别的推送平台,现在改用个推,官方文档写的很好,除了刚下载下来,折腾了一阵子,不过很快 ...
- Winform快速导出
public static void ExportExcel(DataGridView DataGridView01){ Stream stream = null; StreamWriter writ ...
- redis 最优雅的错误提示
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: DENIED Redis ...
- ubuntu下man帮助文档不全怎么办?如何解决?
真心后悔用ubuntu学习linux 发现很多东西不全,kate没有,vi版本低,帮助文档不全一系列的问题.ubuntu下man帮助文档不全怎么办?如何解决?不用担心,下边小编就为大家带来最详细的解决 ...
- yaffs2文件镜像制作工具yaffs2image
1. 不同nand容量,工具不一样. 首先使用的是mkyaffs2image,编译生成根文件系统的镜像之后,下载到板子上,启动的时候报错,错误代码这里没有上传.问题出在工具使用的不正确,查看工具目录 ...
- R语言两种方式求指定日期所在月的天数
R语言两种方式求指定日期所在月的天数 days_monthday<-function(date){ m<-format(date,format="%m& ...
- drupal 使用步骤
一.安装 二.汉化 ①.下载语言包文件:http://localize.drupal.org/translate/languages/zh-hans ②.将 .po 文件放置到 drupal7/pro ...
- sizeof(数组名)和sizeof(指针)
在做这道题时: 32位环境下,int *p=new int[10];请问sizeof(p)的值为()A.4 B.10 C.40 ...