PHP MySql数据库访问
PHP MySql数据库访问
计应134 凌豪
1.MySql数据库的连接
要操作MySql数据库,首先必须与MySQl数据库建立连接,连接MySQL服务器的语句如下:
<?php
$link = mysql_connect("localhost", "root", "root") or die("不能连接到数据库服务器!
可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error()); //连接Mysql服务器
if($link){
echo "数据源连接成功!";
}
?>
2.选择MySQL数据库
在连接到MySQl数据库服务器之后,使用mysql_select_db()函数来选择数据库,其实例代码如下:
<?php
$link = mysql_connect("localhost", "root", "root") or die("不能连接到数据库服务器!可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error()); //连接Mysql服务器
$db_selected=mysql_select_db("db_database18",$link);
//$db_selected=mysql_query("use db_database18",$link);
if($db_selected){
echo "数据库选择成功!";
}
?>
3.使用mysql_query()函数执行SQL语句
要对数据库中的表进行操作,通常使用mysql_query()函数执行SQL语句,其基本语法格式如下:
mysql_query(string query[,resource link_indentifier])
4.向数据库发送查询
<?php
// 实例化mysqli类
$mysqliConn = new mysqli();
// 连接服务器,并选择一个数据库
// 错误的密码
$mysqliConn->connect('127.0.0.1', 'root', 'root', 'db_test');
if ($mysqliConn->connect_error)
{
printf("Unable to connect to the database:%s", $mysqliConn->connect_error);
exit();
}
// 与数据库交互
$query = 'select firstname, lastname, email from tb_test;';
// 发送查询给MySQL
$result = $mysqliConn->query($query);
// 迭代处理结果集
while (list($firstname, $lastname, $email) = $result->fetch_row())
{
printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);
}
// 关闭连接
$mysqliConn->close();
?>
5.插入、更新和删除数据
插入、更新和删除使用的是insert、update和delete查询完成的,其做法实际上与select查询相同。示例代码如下:
<?php
// 实例化mysqli类
$mysqliConn = new mysqli();
// 连接服务器,并选择一个数据库
// 错误的密码
$mysqliConn->connect('127.0.0.1', 'root', 'root', 'db_test');
if ($mysqliConn->connect_error)
{
printf("Unable to connect to the database:%s", $mysqliConn->connect_error);
exit();
}
// 与数据库交互
$query = 'select firstname, lastname, email from tb_test;';
// 发送查询给MySQL
$result = $mysqliConn->query($query);
// 迭代处理结果集
while (list($firstname, $lastname, $email) = $result->fetch_row())
{
printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);
}
$query = "delete from tb_test where firstname = 'Yuan';";
$result = $mysqliConn->query($query);
// 告诉用户影响了多少行
printf("%d row(s) have been deleted.<br/>", $mysqliConn->affected_rows);
// 重新查询结果集
$query = 'select firstname, lastname, email from tb_test;';
// 发送查询给MySQL
$result = $mysqliConn->query($query);
// 迭代处理结果集
while (list($firstname, $lastname, $email) = $result->fetch_row())
{
printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);
}
// 关闭连接
$mysqliConn->close();
?>
5.MySQL分页显示公告
有时候在查询一些数据时,为了更加方便的浏览查询出的信息内容,最好的方法就是通过分页来显示公告信息的内容
下面主要是使用select语句动态检索数据库中的公告信息,并通过分页技术完成对数据库中公告信息的分页输出,主要部分代码如下:
<?php
$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
/* $_GET[page]为当前页,如果$_GET[page]为空,则初始化为1 */
if ($_GET[page]==""){
$_GET[page]=1;}
if (is_numeric($_GET[page])){
$page_size=4; //每页显示4条记录
$query="select count(*) as total from tb_affiche order by id desc";
$result=mysql_query($query); //查询符合条件的记录总条数
$message_count=mysql_result($result,0,"total"); //要显示的总记录数
$page_count=ceil($message_count/$page_size); //根据记录总数除以每页显示的记录数求出所分的页数
$offset=($_GET[page]-1)*$page_size; //计算下一页从第几条数据开始循环
$sql=mysql_query("select * from tb_affiche order by id desc limit $offset, $page_size");
$row=mysql_fetch_object($sql);
if(!$row){
echo "<font color='red'>暂无公告信息!</font>";
}
do{
?>
<?php
}while($row=mysql_fetch_object($sql));
}
?>
</table>
<br>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<!-- 翻页条 -->
<td width="37%"> 页次:<?php echo $_GET[page];?>/<?php echo $page_count;?>页 记录:
<?php echo $message_count;?> 条 </td>
<td width="63%" align="right">
<?php
/* 如果当前页不是首页 */
if($_GET[page]!=1){
/* 显示“首页”超链接 */
echo "<a href=page_affiche.php?page=1>首页</a> ";
/* 显示“上一页”超链接 */
echo "<a href=page_affiche.php?page=".($_GET[page]-1).">上一页</a> ";
}
/* 如果当前页不是尾页 */
if($_GET[page]<$page_count){
/* 显示“下一页”超链接 */
echo "<a href=page_affiche.php?page=".($_GET[page]+1).">下一页</a> ";
/* 显示“尾页”超链接 */
echo "<a href=page_affiche.php?page=".$page_count.">尾页</a>";
}
mysql_free_result($sql);
mysql_close($conn);
?>
PHP MySql数据库访问的更多相关文章
- 【Mysql数据库访问利器】phpMyadmin
缘由 我们程序员难免要和数据库打交道,经过这几年的锻炼,感觉手写SQL语句已经忘记的差不错了,促使我一定要这篇文章的原因是,有一次晚上我更新某个系统的数据库的表(由于目前公司比较严格,数据库都只能通过 ...
- 腾讯云自建MySQL数据库访问
1. 登陆腾讯云 https://cloud.tencent.com/ 2. 登陆控制台 https://console.cloud.tencent.com/ 3. 选择云主机 4. 选择重装系统 5 ...
- 记一次常规的Mysql数据库访问的时间分析
背景:记一次常规的数据访问的时间分析(插入操作) 1. TCP三次握手 SYN ---> <--- SYN,ACK ACK ---> 花费时间: 386.718-385.784=0. ...
- mysql数据库访问权限限制设置
---只能本地访问,设置随意访问 update user set host='%' where host='localhost': flush privileges; ---随意访问,设置只能本地访问 ...
- C#访问MySQL数据库帮助类
MySQL数据库访问帮助类 1.项目添加引用官方MySQL动态库MySql.Data.dll 下载地址:MySql.Data.dll(也可以到官网下载动态库)项目添加引用 这里有一个Mysql帮助类的 ...
- Linux下C++访问MySQL数据库
由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...
- PHP学习9——MySQL数据库
主要内容: MySQL的启动 MySQL数据库操作 数据库表设计 创建和查看表 修改表结构 MySQL语句操作 数据库备份与恢复 PHP操作MySQL数据库 面向对象的数据库操作 MySQL数据库是目 ...
- Python数据库访问公共组件及模拟Http请求
前言 最近一段时间除了忙于工作之外,在业余时,迷上了python,对它的跨平台深深的吸引.经过一段时间的自我学习,了解了其基本的语法,便开始自己着手摆弄起来.主要想把以前对接的接口再实现一次,以便于在 ...
- .net连接MySQL数据库的方案与实例演示
以下的文章主要是向大家描述的是.net连接MySQL数据库的实际操作方法与其实例的演示.net连接MySQL数据库的实际操作方案我们主要是将其分成三部分,以下的文章就有其详细内容的描述. http:/ ...
随机推荐
- 基于zepto的手机焦点图touchstart touchmove
基于zepto的手机焦点图,查看地址:demo (建议使用手机浏览器查看)代码如下: <!DOCTYPE HTML> <html> <head> <title ...
- uva11029 - Leading and Trailing
题目: 求n的k次方,然后将答案用前三位和最后三位表示. Sample Input 2 123456 1 123456 2 Sample Output 123...456 152...936 分析: ...
- VMware下桥接设置
操作环境 主机:Win7 X86 SP1 虚拟机:VMware station 8 虚拟机里的系统:Fedora 15 环境上,不管什么系统,什么版本的虚拟机,使用上都是大同小异的,毕竟核心是不变的. ...
- SQL Server AlwaysOn 故障转移
目的: a) AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案. b) 当数据库服务器SQL1出现故障宕机时,可以通过AlwaysOn可用性组,自动故障转 ...
- Python基础之 urllib模块urlopen()与urlretrieve()的使用方法详解。
Python urllib模块urlopen()与urlretrieve()的使用方法详解 1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) ...
- 库函数strlen源码重现及注意问题
首先直接上源码: size_t strlen (const char * str) { const char *eos = str; while(*eos++); return(eos - str - ...
- Server2008系统 FTP下载“当前的安全设置不允许”的解决方法
IE -> Internet选项 -> 安全 -> Internte -> 自定义级别 设置 -> 下载 -> 文件下载 -> 启动
- IE9下Ajax缓存问题
使用jQuery的getJSON从后台定时获取数据并刷新界面,使用以下方法时,在Chrome,Firefox下没问题,但在IE9下却无法刷新数据 $.getJSON(webApp + "/G ...
- bootstrap 简易模版
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 做了一个jquery插件,使表格的标题列可左右拉伸
示例下载 插件名称命名为:jquery.tableresize.js,代码如下: /* Writen by mlcactus, 2014-11-24 这是我封装的一个jquery插件,能够使table ...