PHP 笔记——操作MySQL数据库
1. 连接MySQL服务器
mysqli_connect :此函数是该函数的别名: mysqli::__construct()
mysqli mysqli_connect ( [string server [, string username [,
string password [, string dbname [, int port [, string socket]]]]]] )
| 参数 | 说明 |
|---|---|
| server | MySQL服务器地址(host) |
| username | 用户名 |
| password | 密码 |
| dbname | 连接的数据库名称 |
| port | MySQL服务器使用的端口号 |
| socket | UNIX域socket |
<?php
$host = "127.0.0.1"; //MySQL服务器地址
$userName = "root"; //用户名
$password = "root"; //密码
if ($connID = mysqli_connect($host, $userName, $password)){
echo "<script type='text/javascript'>alert('数据库连接成功!');</script>";
}else{
echo "<script type='text/javascript'>alert('数据库连接失败!');</script>";
}
?>
为了屏蔽由于数据库连接失败而显示的不友好的错误信息,可以在 mysqli_connect () 函数前加 “@” 来屏蔽错误提示。
<?php
$host = "127.0.0.1"; //MySQL服务器地址
$userName = "root"; //用户名
$password = "111"; //密码
if ($connID = @mysqli_connect($host, $userName, $password)){
echo "<script type='text/javascript'>alert('数据库连接成功!');</script>";
}else{
echo "<script type='text/javascript'>alert('数据库连接失败!');</script>";
}
?>
2. 选择MySQL数据库
(1)mysqli_connect
$connID = mysqli_connect("127.0.0.1", "root", "111", "mysql");
(2)mysqli_select_db
bool mysqli_select_db ( mysqli $link , string $dbname )
| 参数 | 说明 |
|---|---|
| link | 仅以过程化样式:由mysqli_connect() 或 mysqli_init() 返回的链接标识。 |
| dbname | 数据库名称 |
<?php
$host = "127.0.0.1"; //MySQL服务器地址
$userName = "root"; //用户名
$password = "root"; //密码
$dbName = "mysql"; //数据库名称
//建立与MySQL数据库服务器的连接,并选择数据库
$connID = mysqli_connect($host, $userName, $password);
if(mysqli_select_db($connID, $dbName)){
echo "数据库选择成功!";
}else{
echo "数据库选择失败!";
}
?>
3. 执行SQL语句
mixed mysqli_query( mysqli link, string query [, int resultmode] )
| 参数 | 说明 |
|---|---|
| link | 仅以过程化样式:由mysqli_connect() 或 mysqli_init() 返回的链接标识。 |
| query | sql语句 |
| resultmode |
//连接MySQL服务器,选择数据库
$conn = mysqli_connect("localhost", "root", "root", "stu") or die("连接数据库服务器失败!" . mysqli_error());
//设置数据库编码格式utf8
mysqli_query($conn, "set names utf8");
mysqli_query($conn, "insert into users values('4', '张三', '男', '23')");
mysqli_query($conn, "update users set Name='张三' where Id='1'");
mysqli_query($conn, "delete from users where Id='211789111'");
mysqli_query($conn, "use stu");
mysqli_query($conn, "set names utf8");
$result = mysqli_query($conn, "select * from users");
4. 将结果集返回到数组中
array mysqli_fetch_array ( resource result [, int result_type] )
| 参数 | 说明 |
|---|---|
| result | 由 mysqli_query()函数返回的数据指针 |
| result_type | 设置结果集数组的表达方式。 - MYSQL_ASSOC:关联数组 - MYSQL_NUM:数字数组 - MYSQL_BOTH:默认。同时产生关联和数字数组。 |
<?php
while($myrow = mysqli_fetch_array($result)){
?>
<tr>
<td align="center"><span><?php echo $myrow[0]; ?></span></td>
<td align="center"><span><?php echo $myrow[1]; ?></span></td>
<td align="center"><span><?php echo $myrow[2]; ?></span></td>
<td align="center"><span><?php echo $myrow[3]; ?></span></td>
</tr>
<br>
<?php
}
?>
5. 从结果集中获取一行作为对象
mixed mysqli_fetch_object ( resource result )
<?php
while($myrow = mysqli_fetch_object($result)){
?>
<tr>
<td align="center"><span><?php echo $myrow->Id; ?></span></td>
<td align="center"><span><?php echo $myrow->Name; ?></span></td>
<td align="center"><span><?php echo $myrow->Sex; ?></span></td>
<td align="center"><span><?php echo $myrow->Age; ?></span></td>
</tr>
<br>
<?php
}
?>
6. 从结果集中获取一行作为枚举数组
mixed mysqli_fetch_row ( resource result )
<?php
while($myrow = mysqli_fetch_row($result)){
?>
<tr>
<td align="center"><span><?php echo $myrow[0]; ?></span></td>
<td align="center"><span><?php echo $myrow[1]; ?></span></td>
<td align="center"><span><?php echo $myrow[2]; ?></span></td>
<td align="center"><span><?php echo $myrow[3]; ?></span></td>
</tr>
<br>
<?php
}
?>
7. 从结果集中获取一行作为关联数组
mixed mysqli_fetch_assoc ( resource result )
<?php
while($myrow = mysqli_fetch_assoc($result)){
?>
<tr>
<td align="center"><span><?php echo $myrow['Id']; ?></span></td>
<td align="center"><span><?php echo $myrow['Name']; ?></span></td>
<td align="center"><span><?php echo $myrow['Sex']; ?></span></td>
<td align="center"><span><?php echo $myrow['Age']; ?></span></td>
</tr>
<br>
<?php
}
?>
8. 获取查询结果集中的记录数
int mysqli_num_rows ( resource result )
$nums = mysqli_num_rows ( $result );
echo $nums;
9. 释放内存
void mysqli_free_result(resource result)
10. 关闭连接
bool mysqli_close ( mysqli link )
mysqli_free_result($result); // 释放内存
mysqli_close($conn); // 关闭连接
11. 连接与关闭MySQL服务器的最佳时机
function book_query(){
global $conn;
$result = mysqli_query($conn,"select * from tb_demo01");
while($myrow = mysqli_fetch_row($result)){
echo $myrow[1]." ";
echo $myrow[2]."<br />";
}
mysqli_free_result($result);
}
$conn = mysqli_connect("localhost", "root", "111", "db_database10")
or die("连接数据库服务器失败!".mysqli_error());
mysqli_query($conn,"set names utf8");
book_query();
book_query();
mysqli_close($conn);
PHP 笔记——操作MySQL数据库的更多相关文章
- [Python] 学习笔记之MySQL数据库操作
1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...
- php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库
1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo mysql扩展库与mysql数据库 ...
- 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 #数据库名称 ...
- 转 用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语言 一.前言 ...
- Code First操作Mysql数据库
前面博客也讲了,自己做一个网站,选用的是MVC+EF Code First+MySql+EasyUI,先说下技术选型.一.为什么选择MVC? 因为之前自己做的系统大部分是webForm,MVC的之前也 ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- shell脚本操作mysql数据库
shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql -hhostname -Pport -uusername -pp ...
随机推荐
- ASP.NET站点Web部署(一键发布的实现)
在开发过程中经常需要发布到开发环境.测试环境或者预发布环境上给其他同事进行测试验证效果等等,每次发布都要备份,拷贝,修改配置文件等等重复操作非常的麻烦,效率大打折扣,而web部署提供了这样的解决方案: ...
- hihocoder1415 后缀数组三·重复旋律3
传送门:http://hihocoder.com/problemset/problem/1415 [题解] 考虑求出两串合在一起(中间加分隔符)后缀数组,就是要求任意在两个串中的$i, j$,$\mi ...
- 【CodeForces】908 D. New Year and Arbitrary Arrangement
[题目]Good Bye 2017 D. New Year and Arbitrary Arrangement [题意]给定正整数k,pa,pb,初始有空字符串,每次有pa/(pa+pb)的可能在字符 ...
- cocos2dx学习,转摘一些链接
cocos2d-x学习笔记09:动作2:持续动作 ccBezierConfig 贝塞尔坐标点是相对的 Box2DTestBed很有意思的demo,可惜自己水平有限针对其实现还是没弄明白,以后有时间多学 ...
- Oozie与Coordinator调度讲解及系统时区配置与定时触发两种配置方式
1:修改本地linux时区 查看时区 - 号代表西 + 号 代表东 北京时间是东八区 设置时区的配置文件所在位置 cd /usr/share/zoneinfo/ 选择以亚洲的上海 的时区为基址 删除 ...
- 【leetcode 简单】第三十二题 买卖股票的最佳时机Ⅱ
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...
- Python3中的SocketServer
socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.socketserver在python2中为Sock ...
- tomcat+java的web程序持续占cpu高问题调试【转】
转自 tomcat+java的web程序持续占cpu问题调试 - 像风一样的自由 - CSDN博客http://blog.csdn.net/five3/article/details/28416771 ...
- 8.Python3标准库--数据持久存储与交换
''' 持久存储数据以便长期使用包括两个方面:在对象的内存中表示和存储格式之间来回转换数据,以及处理转换后数据的存储区. 标准库包含很多模块可以处理不同情况下的这两个方面 有两个模块可以将对象转换为一 ...
- DHCP简单配置
DHCP是什么? DHCP动态主机地址管理协议(Dynamic Host Configuration Protocol)是一种基于UDP协议且仅限用于局域网内使用的网络协议,最主要的用途是为局域网内部 ...