php操作mysql(数据库常规操作)
php操作数据库八步走
<?php
// 1、建立连接
$connection = mysqli_connect('127.0.0.1', 'root', ''); // 2、判断连接是否成功
if (mysqli_connect_error() != null) {
die(mysqli_connect_error());
} else {
echo "连接成功!";
} ///3、选择数据库
mysqli_select_db($connection, 'test'); ///4、设置字符集
mysqli_set_charset($connection, 'utf8'); ///5、书写 SQL 语句
$sql = "SELECT * FROM `user` LIMIT 1"; ///6、执行 SQL 语句
$result = mysqli_query($connection, $sql); ///7、解析结果集
$array = mysqli_fetch_array($result, MYSQLI_BOTH); ///8、关闭连接
mysqli_close($connection);
添加、更新、删除数据
<?php
// 连接数据库
$link = mysqli_connect('127.0.0.1', 'root', ''); // 判断数据库连接是否成功
if (!is_null(mysqli_connect_error())) {
die(mysqli_connect_error());
} // 选择数据库
mysqli_select_db($link, 'test'); // 设置连接字符集
mysqli_set_charset($link, 'utf8'); // 书写 SQL 语句
// $sql = "INSERT INTO `user` (`username`, `password`) VALUES('user-5', 'password-5')";//增加数据
// $sql = "UPDATE user SET password='password' WHERE id > 4";//修改数据
$sql = "DELETE FROM user WHERE id > 4";//删除数据 // 执行 SQL 语句
$result = mysqli_query($link, $sql); // 解析 SQL 语句执行结果
if ($result) {
echo "执行成功!"
. " 成功删除了数据 " . mysqli_affected_rows($link) . " 条!";
// . " 插入数据的 ID 是 " . mysqli_insert_id($link) . "。";
} else {
echo "执行失败!";
} // 关闭连接,释放资源
mysqli_close($link);
简单查询和数据解析
<?php
// 建立连接
$link = mysqli_connect('127.0.0.1', 'root', ''); // 判断连接是否成功
if (mysqli_connect_error() != null) {
die(mysqli_connect_error());
} // 选择数据库
mysqli_select_db($link, 'test'); // 设置字符集
mysqli_set_charset($link, 'utf8'); // 书写 SQL 语句
$sql = "SELECT good, class, price, stock FROM good WHERE id < 4"; // 执行 SQL 语句
$result = mysqli_query($link, $sql); // 解析结果集
echo "<pre>";
$data = mysqli_fetch_array($result);
var_dump($data); while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
var_dump($row);//使用或输出所有查询的数据
} while ($row = mysqli_fetch_row($result)) {
var_dump($row);//把查询结果返回到一个数组中,用数字索引取值
} while ($row = mysqli_fetch_assoc($result)) {
var_dump($row);//把查询结果返回到一个数组中,用关键字索引取值
} while ($row = mysqli_fetch_object($result)) {
var_dump($row);//从结果集中取得当前行,并作为对象返回
} $data = mysqli_fetch_all($result, MYSQLI_BOTH);//从结果集中取得所有行作为关联数组
var_dump($data); $num = mysqli_num_rows($result);
echo "共查询到 " . $num . " 条数据!";
$num = mysqli_num_fields($result);
echo "共查询到 " . $num . " 列数据!"; // 关闭连接
mysqli_close($link);
复杂查询
<?php
// 建立连接
$link = mysqli_connect('127.0.0.1', 'root', ''); // 判断连接是否成功
if (mysqli_connect_error() != null) {
die(mysqli_connect_error());
} // 选择数据库
mysqli_select_db($link, 'test'); // 设置字符集
mysqli_set_charset($link, 'utf8'); // 书写 SQL 语句
$sql = "SELECT good.*, class.class FROM good, class WHERE good.class = class.id AND good.stock >= 25 AND good.price <= 50 AND good.class = 4 ORDER BY good.price ASC LIMIT 6"; // 执行 SQL 语句
$result = mysqli_query($link, $sql); // 解析结果集
echo "<table border=''>";
echo "<tr>";
echo "<th>ID</th>";
echo "<th>商品</th>";
echo "<th>类别</th>";
echo "<th>单价</th>";
echo "<th>库存</th>";
echo "<th>更新时间</th>";
echo "<th>创建时间</th>";
echo "</tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td width='100px'>" . $row['id'] . "</td>";
echo "<td width='100px'>" . $row['good'] . "</td>";
echo "<td width='100px'>" . $row['class'] . "</td>";
echo "<td width='100px'>" . $row['price'] . "</td>";
echo "<td width='100px'>" . $row['stock'] . "</td>";
echo "<td width='100px'>" . $row['updated_at'] . "</td>";
echo "<td width='100px'>" . $row['created_at'] . "</td>";
echo "</tr>";
}
echo "</table>"; // 关闭连接
mysqli_close($link);
程序错误排查
<?php
// 建立连接
$link = mysqli_connect('127.0.0.1', 'root', ''); // 判断连接是否成功
if (mysqli_connect_error() != null) {
die(mysqli_connect_error());
} // 选择数据库
mysqli_select_db($link, 'test'); // 设置字符集
mysqli_set_charset($link, 'utf8'); // 书写 SQL 语句
// $sql = "SELECT * FROM good ORDER BY price ASC GROUP BY class";
$sql = "INSERT INTO good (good, class, price, stock) VALUES('test', 'test', 20, 56)";
// $sql = "INSERT INTO class(class) VALUES('水果')"; // 执行 SQL 语句
$result = mysqli_query($link, $sql); // 解析结果集
// var_dump($result);
$error = mysqli_error($link);
$errno = mysqli_errno($link); echo "SQL 语句执行失败!错误代码:" . $errno . ",错误信息:" . $error; // 关闭连接
mysqli_close($link);
php操作mysql(数据库常规操作)的更多相关文章
- Python学习(21)python操作mysql数据库_操作
目录 数据库连接 创建数据库表 数据库插入操作 数据库查询操作 数据库更新操作 删除操作 执行事务 错误处理 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TEST. 在TEST数 ...
- Mysql数据库常规操作(建表、查询)
一.表单操作 1-1.创建表 create table tb_name( id in primary key auto_increment); 1-2.查看表 desc table_name; ...
- python操作mysql数据库系列-操作MySql数据库(二)
接口测试框架层级目录结构示意图: page目录下面的mysqlTest.py:存放的是mysql的操作代码 utils目录下面的helper.py:存放的是公共的配置方法 log目录log.md:存放 ...
- 【tips】ORM - SQLAlchemy操作MySQL数据库
优先(官方文档SQLAlchemy-version1.2): sqlalchemy | 作者:斯芬克斯 推荐一(长篇幅version1.2.0b3):python约会之ORM-sqlalchemy | ...
- Python操作Mysql数据库时SQL语句的格式问题
一.概述 近日使用Python对Mysql数据库进行操作,遇到SQL语句死活出问题的情况.由于最初没有将异常打印出来,一直不知道原因.随后,将异常打印出来之后,通过异常信息,对代码进行修改.最终,成功 ...
- 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 #数据库名称 ...
- zabbix数据库mariadb从服务器迁移到云mysql数据库的操作
zabbix数据库mariadb从本机迁移到云mysql数据库的操作 1.将zabbix数据库导出,并导入到云数据库中 由于数据库较大,如果直接使用shell会话中断会导致数据库导出或者导入失败,使用 ...
- 转 用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语言 一.前言 ...
随机推荐
- 记一次阿里云LVM扩容与 LVM 相关知识学习
一.lvm 扩容 问题: 我们阿里云服务器有一个磁盘容量为 1T ,但是最近由于业务的扩增,磁盘容量已经不够了,需要增大磁盘的容量.磁盘挂载在 /home,使用的是 LVM.我们现在需要对磁盘进行扩容 ...
- 【WPF学习】第四章 加载和编译XAML
前面已经介绍过,尽管XAML和WPF这两种技术具有相互补充的作用,但他们也是相互独立的.因此,完全可以创建不使用XAML和WPF应用程序. 总之,可使用三种不同的编码方式来创建WPF应用程序: 只使用 ...
- 《ASP.NET Core 高性能系列》ASP.NET Core的启动过程(1)
一.一切从头开始 简述:知道事情的真相就应该从头 开始,下面我们代码先行 public class Program { public static void Main(string[] args) { ...
- HTML:一张思维导图搞懂HTML
HTML常用标签及其用法
- Java 设计模式之抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在抽 ...
- 并发队列之LinkedBlockingQueue
上一篇我们看了一下这个队列ConcurrentLinkedQueue,那就是一个无界非阻塞链表,我们这次来看看LinkedBlockingQueue,这个队列看名字就知道是一个阻塞式队列(也就是一个单 ...
- JavaScript(4)---BOM详解
JavaScript(4)---BOM详解 之前写过一篇有关DOM的博客:JavaScript(2)---DOM详解 DOM有个顶级对象叫:document.同样BOM中也有顶级对象叫 window. ...
- Dubbox 环境搭建
第一章:Dubbox简介 Dubbox是一个开源的RPC(Remote ProcedureCall Protocol)远程调用框架,是由dangdang对阿里的Dubbo的升级,可以被视为Dubbo的 ...
- P4174 [NOI2006]最大获利 (最大权闭合子图)
P4174 [NOI2006]最大获利 (最大权闭合子图) 题目链接 题意 建\(i\)站台需要\(p_i\)的花费,当\(A_i,B_i\)都建立时获得\(C_i\)的利润,求最大的利润 思路 最大 ...
- num14---享元模式
案例: