100 PHP操作MySQL
php连接到mysql数据库
允许PHP当做MySQL的一个客户端连接到服务器进行操作
1. 连接到一个 MySQL 数据库:mysqli_connect()函数
<?php
// 新的语法
mysqli_connect(host,username,password,dbname,port,socket);
host 可选。规定主机名或 IP 地址。本机是localhost或者127.0.0.1
username 可选。规定 MySQL 用户名。
password 可选。规定 MySQL 密码。
dbname 可选。规定默认使用的数据库。
port 可选。规定尝试连接到 MySQL 服务器的端口号。
socket 可选。规定 socket 或要使用的已命名 pipe。
// $con是超全局变量
$con = mysqli_connect('localhost', 'root', 'root', 'mydb');
if (!$con) {
die('数据库连接失败!' . mysqli_connect_error());
}
echo '数据库连接成功';
// 也可以采用下面的方式:指定数据库==返回值是true false
mysqli_query($con, 'use mydb');
2. 关闭连接
默认情况下,脚本执行结束,就会自动关闭连接。如需提前关闭连接,可以使用 mysqli_close()
函数
<?php
$con = mysqli_connect('localhost', 'root', 'root');
if (!$con) {
die('数据库连接失败!');
}
echo '数据库连接成功';
// 手动关闭数据库的连接
mysqli_close($con);
PHP 创建数据库和表-mysqlli_query函数
1. 创建数据库
<?php
$con = mysqli_connect('localhost', 'root', 'root', 'mydb');
if (!$con) {
die('数据库连接失败!' . mysqli_connect_error());
}
echo '数据库连接成功' . '</br>';
// 创建数据库语句
// mysqli_query($con, $sql) 返回布尔值
$sql = 'CREATE DATABASE my_db';
if (mysqli_query($con, $sql)) {
echo "数据库创建成功";
} else {
echo "数据库创建失败! " . mysqli_error($con);
}
2. 创建表
<?php
// 连接数据库 mydb
$mysqli = mysqli_connect('localhost', 'root', 'root', 'mydb');
if (!$mysqli) {
die('数据库连接失败!' . mysqli_connect_error());
}
echo '数据库连接成功' . '</br>';
// 创建数据库语句
$sql ="
CREATE TABLE n_news(
id int PRIMARY key auto_increment COMMENT '主键id',
title VARCHAR(50) not null COMMENT '新闻标题',
content text COMMENT '新闻内容',
isTop TINYINT not NULL DEFAULT 0 COMMENT '是否置顶0不置顶 1置顶',
publiser VARCHAR(50) not null default 'may777' COMMENT '发布人',
pub_time TIMESTAMP default CURRENT_TIMESTAMP COMMENT '发布时间'
)charset utf8
";
if (mysqli_query($mysqli , $sql)) {
echo "表n_news创建成功";
} else {
echo "表n_news创建失败! " . mysqli_error($mysqli );
}
PHP 增删改操作
PHP 增删改操作都可以使用 mysqli_query()
函数,mysqli_query()函数执行结果返回的都是true或false
mysqli_error()函数可以返回错误的原因
<?php
// 连接数据库 mydb
$mysqli = mysqli_connect('localhost', 'root', 'root', 'mydb');
if (!$mysqli) {
die('数据库连接失败!' . mysqli_connect_error());
}
echo '数据库连接成功' . '</br>';
// 1. 插入数据
$sql ="
INSERT INTO news(title,content) VALUES('新闻标题1','新闻内容1');
";
// 2. 更新操作
// $sql="UPDATE news set title='新闻标题2' WHERE id=2";
// 3. 删除操作
// $sql="delete from news where id=90";
if (mysqli_query($mysqli , $sql)) {
echo "插入数据成功";
} else {
echo "插入数据失败! " . mysqli_error($mysqli );
}
php 查询操作
<?php
// 连接数据库 mydb
$mysqli = mysqli_connect('localhost', 'root', 'root', 'mydb');
if (!$mysqli) {
die('数据库连接失败!' . mysqli_connect_error());
}
echo '数据库连接成功' . '</br>';
// 查询数据
$sql = "SELECT * FROM news";
$result = mysqli_query($mysqli, $sql);
if (mysqli_num_rows($result) > 0) {
// mysqli_num_rows 获取结果集的行数
// 输出数据
while ($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["title"] . "<br>";
}
} else {
echo "0 结果";
}
解析结果集:
mysqli_fetch_assoc()--推荐,返回关联数组
mysqli_fetch_row()--返回 索引数组
mysqli_fetch_array()
php mysql相关扩展函数
字段相关
查询当前结果集中所有的字段数量,即表的列数量
// 查询操作
$sql = "SELECT * FROM news";
$result = mysqli_query($con, $sql);
// 查询当前结果集中所有的字段数量,即表的列数量
echo mysqli_num_fields($result);
查询结果集中 指定位置的字段名称
// 查询操作
$sql = "SELECT * FROM news";
$result = mysqli_query($con, $sql);
// 查询结果集中 指定位置的字段名称
$fieldinfo=mysqli_fetch_field_direct($result,1);
printf("字段名: %s",$fieldinfo->name);
echo "<br>";
printf("数据表: %s",$fieldinfo->table);
echo "<br>";
printf("最大长度: %d",$fieldinfo->max_length);
报错相关
mysqli_error()--获取报错时,相关的报错信息
mysqli_errno()--获取报错时,相关的报错信息的错误码/错误编号
其他
获取上一次插入操作产生的自增长id,如果没有自增长,返回0
// 3. 获取上一次插入操作产生的自增长id,如果没有自增长,返回0
$sql ="
INSERT INTO news(title,content) VALUES('新闻标题00','新闻内容13333');
";
$result = mysqli_query($con, $sql);
echo '获取上一次插入操作产生的自增长id:'. mysqli_insert_id($con);
PHP Database ODBC
- ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)
1. 创建 ODBC 连接
- 通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的
- 下面是创建到达 MS Access 数据的 ODBC 连接的方法:
1. 在控制面板中打开管理工具
2. 双击其中的数据源 (ODBC) 图标
3. 选择系统 DSN 选项卡
4. 点击系统 DSN 选项卡中的“添加”按钮
5. 选择 Microsoft Access Driver。点击完成。
6. 在下一个界面,点击“选择”来定位数据库。
7. 为这个数据库取一个数据源名 (DSN)。
8. 点击确定。
2. 连接到 ODBC
- odbc_connect() 函数用于连接到 ODBC 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数。
- odbc_exec() 函数用于执行 SQL 语句。
创建了到达名为 northwind 的 DSN 的连接,没有用户名和密码。然后创建并执行一条 SQL 语句
$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
3. 取回记录
- odbc_fetch_row() 函数用于从结果集中返回记录。如果能够返回行,则返回 true,否则返回 false。
- 该函数有两个参数:ODBC 结果标识符和可选的行号
odbc_fetch_row($rs)
4. 从记录中取回字段
- odbc_result() 函数用于从记录中读取字段。该函数有两个参数:ODBC 结果标识符和字段编号或名称
从记录中返回第一个字段的值
$compname=odbc_result($rs,1);
5. 关闭 ODBC 连接
- odbc_close()函数用于关闭 ODBC 连接
odbc_close($conn);
- 展示了如何首先创建一个数据库连接,然后是结果集,然后在 HTML 表格中显示数据
<html>
<body>
<?php
$conn=odbc_connect('northwind','','');
if (!$conn)
{exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
if (!$rs)
{exit("Error in SQL");}
echo "<table><tr>";
echo "<th>Companyname</th>";
echo "<th>Contactname</th></tr>";
while (odbc_fetch_row($rs))
{
$compname=odbc_result($rs,"CompanyName");
$conname=odbc_result($rs,"ContactName");
echo "<tr><td>$compname</td>";
echo "<td>$conname</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>
</body>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具