首先,我建立了一个名为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结合使用的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  3. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  4. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  5. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  6. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  7. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...

  9. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  10. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

随机推荐

  1. Maven学习之(一)基本配置

    安装maven还几次没成功,不过最后还是查资料成功了,所以记录一下. 1.安装JDK,比较简单,就不说明了. 2.配置java的环境变量 JAVA_HOME (最开始因为java配置成C:\Progr ...

  2. Linux 下 ps 命令

    简述 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,动态的显示进程信息 ...

  3. 【Visual Studio】报错SignTool Error: No certificates were found that met all the given criteria.

    问题:Virtual Studio如果证书或SignTool.exe签名工具出了问题,编译运行项目时会报这个错误. 解决:参考下面内容. http://stackoverflow.com/questi ...

  4. C++报错集锦

    (一)invalid initialization of non-const reference of type 'float&' from a temporary of type 'floa ...

  5. 7-zip 压缩算法及C SDK使用

    pdf版本下载:http://files.cnblogs.com/davad/7-zip_and_SDK.pdf 1. 介绍 官方网址:中文:http://sparanoid.com/lab/7z/ ...

  6. C# cs文件表头模版

    设置位置:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\2 ...

  7. 网络配置vlan

    1. # This file describes the network interfaces available on your system # and how to activate them. ...

  8. Nginx之虚拟目录-root与alias的区别

    最近在nginx上部署日志分析工具awstats时,在配置awstats分析结果可供网页浏览这步时,分析结果页面访问总是404.后来查阅了一些资料,发现是root和alias的用法区别没搞懂导致的,这 ...

  9. 以下哪个Hibernate主键生成策略是实现主键按数值顺序递增的?

    A.increment B.identity C.sequence D.native 解答:A

  10. 学习:erlang的不定长数据包头部。