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语言 一.前言 ...
随机推荐
- Kivy 自定义控件之(一)
lableSlider1.kv文件 <LabelSlider>: orientation:'vertical' BoxLayout: MyLabelSlider: name: 'Slide ...
- day04_IDEA、方法
day04_IDEA.方法 1.快捷输入 psvm:public static void main(String[] args){ } sout:System.out.print("&quo ...
- C#中? 和 ??的区别
背景 最近在调试C#项目的时候,发现一个比较关于??的特殊用法,当时把我给惊到了,所以特意用这篇短短的笔记来记录一下我的解惑过程: 示例代码: showsomething(isNameNull ?? ...
- excel 2010 如何设置日期选择器
excel 中想输入很多的日期.如果每个日期都直接手动输入太过于繁琐,而且容易出错.想制作一个日期选择器,直接鼠标点选就可以了. 效果如下: 具体实现参考 http://wenku.baidu.com ...
- Django模型中的admin后台管理无法显示字段
在执行django后台管理时,登陆到http://127.0.0.1:8000/admin/,进入页面后没有对应的字段显示.请解决? 代码: models.py from django.db impo ...
- python机器学习——正则化
我们在训练的时候经常会遇到这两种情况: 1.模型在训练集上误差很大. 2.模型在训练集上误差很小,表现不错,但是在测试集上的误差很大 我们先来分析一下这两个问题: 对于第一个问题,明显就是没有训练好, ...
- TestStand 基础知识[7]--Build-in Step Types (2)
接着上一篇文章:TestStand 基础知识[6] Build-In StepTypes(1) 继续介绍: 还是先把Build-in StepTypes图片贴一下, 1. Call Executabl ...
- lwip netbuf
lwip2.0.2 netbuf_new——分配netbuf结构体的内存. netbuf_alloc,分配netbuf中pbuf内存(pbuf_alloc中PBUF_RAM类型,包括pbuf结构体和p ...
- Samba搭建Linux和Windows文件共享服务
一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...
- ssh_key认证
ssh认证流程步骤: 1.主机host_key认证 2.身份验证 3.身份验证通过 原理及更多知识点,请查看好友博客 http://www.cnblogs.com/f-ck-need-u/p/7129 ...