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所在的文件 ...
随机推荐
- loadrunner11 测试restful
loadrunner不知道为啥会有这么大的体积. 一开始用的是c脚本,可是恶心的是又不是完全的c,读文件的fseek居然没有. 后来又折腾java脚本,发现loadrunner11 java要用jdk ...
- 【C#/WPF】如何查看System.Windows.Interactivity.dll中EventTrigger的EventNames属性有哪些
WPF项目中,从Nuget搜索并下载System.Windows.Interactivity.dll,安装到项目中,并在XAML界面引入. <UserControl xmlns:i=" ...
- Linux while 获取键盘输入退出
c 语言实现如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #include < ...
- [LintCode]计算两个数的交集(一)
问题分析: 既然返回值没有重复,我们不妨将结果放进set中,然后对两个set进行比较. 问题求解: public class Solution { /** * @param nums1 an inte ...
- 02 Architecture Overview
本章提要---------------------------------------------arthiecture, and some componentconnect to oracle这一章 ...
- 74hc165三片级联
3片74HC165进行级联,用于扩展IO口,读取外界设备的数据. unsigned int read_74165(void) { unsigned ; unsigned ; //三片74hc165,需 ...
- C++ 有用的网站
C++ 有用的网站C++ Programming Language Tutorials ? C++ 编程语言教程.C++ Programming ? 这本书涵盖了 C++ 语言编程.软件交互设计.C+ ...
- Json序列化问题
之前Json字符反序列化为C#对象时 总是写一个实体类.. 如:{"a":5,"b":10} 这种json字符串 对应的实体类为: public class R ...
- 中文路径-接口路径url不能传输中文解决方案
服务端:
- 在word文档中如何插入Mathtype公式
将mathtype公式插入到word文档中,是mathtype公式编辑器最基本的操作.当在Mathtype数学公式编辑器中编辑好公式之后,点击文件->更新XXX文档(XXX为当前编辑的word文 ...