1. <span style="font-family:Arial,Helvetica,sans-serif">在php操作数据库过,会频繁对数据库进行各种操作,所以,php提供函数接口,很好的支持了对各种数据库的支持,包括MySql数据库。 php函数接口,事实上是对sql语句的分装</span>

1.数据库的连接

要使用数据库,首先需要连接数据库,链接命令为
  1. mysql_connect(servername, user, password);

servername 为服务器名,可选项,默认为 localhost:3306;

user 是用户名,可选,默认拥有服务器进程的用户名;
pasword 规定登录所用的密码,可选,默认是"";
  1. <?php
  2. $con=mysql("localhost","root","password");
  3. if($con)
  4. {
  5. die("couldn't connect!");
  6. }
  7. //使用结束后,关闭链接
  8. mysql_close($con);
  9. ?>

另外可以用mysql_pconnect([host][:port][user][password]),此函数与mysql_connect函数功能基本相同,区别在于:
      1. 当数据库操作结束后,由mysql_connect函数建立的连接将自动关闭, 而mysql_pconnect函数建立的连接将继续存在,是一种稳固持久的连接。
      2. 使用mysql_pconnect函数进行连接时,每次连接前,都会检查是否有使用同样的hostname、user和password的连接,如果有,则直接使用这个连接号。
      3. 函数mysql_connect建立的连接可以用mysql_close函数关闭,而mysql_pconnect 函数建立的连接则不能用mysql_close函数来关闭。

2.向mysql传送查询/命令

mysql_query(query,connection) 用于向mysql传递查询或命令 connection 可选,如果为空,则试图创建一个参数为空的链接。假定查询成功,可以调用 mysql_num_rows() 来查看对应于
SELECT 语句返回了多少行,或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE
或 UPDATE 语句影响到了多少行。仅对 SELECT,SHOW,DESCRIBE 或 EXPLAIN 语句 mysql_query() 才会返回一个新的结果标识符,可以将其传递给 mysql_fetch_array() 和其它处理结果表的函数。处理完结果集后可以通过调用 mysql_free_result() 来释放与之关联的资源,尽管脚本执行完毕后会自动释放内存,执行不正确则返回false。对其他执行返回true,不执行返回false。

3.选择数据库

4.返回结果处理函数

1)mysql_num_rows() (查询结果指针) 返回查询结果集中行的数目。
2)mysql_affected_rows() 返回一次mysql操作对数据库影响的记录行数   (用于update、delete、insert、replace)
3)mysql_num_fields() (查询结果指针)返回查询结果集中字段的数目。

5.遍历查询记录集

mysql_fetch_array()、mysql_fetch_row、mysql_fetch_assoc区别:三者都可以从结果集中提取一行记录返回。mysql_fetch_array()提取的结果既可以通过索引访问,也可以通过关键字访问;而mysql_fetch_row提取的结果只能通过索引访问、mysql_fetch_assoc提取的结果只能通过关键字访问。

6.错误处理函数

1)mysql_errno(字样标示符)  返回上一个mysql操作中的错误信息数字编码
2)mysql_error() 返回上一个mysql操作的文本错误信息。

7.web数据库原理

浏览器<---->服务器<------>PHP引擎<------->mysql数据库
过程如下:
1)用户通过浏览器向服务器放松一个http请求,请求一个web文件;
2)服务器接收到web请求,获取该文件,并把该web文件传送给php引擎;
3)php开始解析脚本,其中有一条SQL查询,包含链接数据库的命令和查询语句,php打开通向mysql的连接,并发送查询;
4)数据库接受查询并处理,把查询的结果传递给php引擎;
5)php引擎接受结果,完成脚本,输出html;
6)服务器把html格式文件发送给浏览器。
从php向mysql查询过程中,php的mysql_query()函数只启传递的作用,而不是主要的存取指令操作。php并不是mysql的内建操作,操作数据库只有用SQL指令。mysql_query()可以传递各种sql语法。

php操作mysql数据库的更多相关文章

  1. PHP操作MySQL数据库5个步骤

    PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...

  2. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  3. 转 用C API 操作MySQL数据库

    用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...

  4. PHP操作mysql数据库:[2]查询数据听语音

    本文主要详细讲解如何使用php语言,对mysql数据库进行查询.添加.删除.更新等操作. 工具/原料   Macromedia Dreamweaver 8 mysql数据库,php语言 一.前言   ...

  5. Code First操作Mysql数据库

    前面博客也讲了,自己做一个网站,选用的是MVC+EF Code First+MySql+EasyUI,先说下技术选型.一.为什么选择MVC? 因为之前自己做的系统大部分是webForm,MVC的之前也 ...

  6. JDBC操作MySQL数据库案例

    JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  7. shell脚本操作mysql数据库

    shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql  -hhostname -Pport -uusername -pp ...

  8. Java使用Jdbc操作MySql数据库(一)

    这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

  9. 使用node js 操作 Mysql 数据库

    使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...

  10. 批处理操作mysql数据库

    批处理操作mysql数据库 1.使用批处理自动登录mysql数据库 @echo offcd C:\program files\mysql\mysql server 5.5\binmysql -u ro ...

随机推荐

  1. BLOG搬家

    前段时间一直用的新浪blog,发现推送信息是否杂乱,所以特地投奔学长CSDN,外加之前颓废心过重,现在打算新面貌认真学习

  2. SCP注意事项

    scp hdfs-site.xml hxsyl@192.168.58.181:/home/..../etc/hadoop/ 中间路径省略了,刚开始没加冒号提示同样的文件,还以为是scp需要特殊指令才能 ...

  3. 微软注册dll在dotnet开发时起到缓存的作用

    经过试验,我发觉只要是注册了dll之后,会在全局的环境中得到很好的体现,比如无需指定具体物理路径的dll引用,搜索即可引用等,同时也得到一点: 1.会缓存起这个dll先,在不重启电脑的情况,本地物理路 ...

  4. oracle 前滚和回滚

    前滚(Rollforward): 在数据库关闭时候,很多已经提交的数据没有写到磁盘上, 数据恢复时,在文件上重演日志内容,把文件恢复到数据库关闭时的状态. 回滚(Rollback): 在数据库关闭时, ...

  5. [NOIP2015] 提高组 洛谷P2679 子串

    题目背景 无 题目描述 有两个仅包含小写英文字母的字符串 A 和 B.现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新 ...

  6. UVa 1328 Period

    数据范围较大,故用KMP求循环节 之后由小到大枚举长度范围,若该长度下有循环节就输出答案 还要注意输出格式.之前测试时候连着一串presentation error也是悲伤 #include<b ...

  7. webbench详解

    安装 mkdir -p /usr/local/man/man1 yum install ctags -y tar zxvf webbench-1.5.tar.gzcd webbench-1.5make ...

  8. 数据结构算法C语言实现(四)---2.3循环链表与双向链表

    一.简述 [工作中...]

  9. 数据结构算法C语言实现(一)---2.2线性表的顺序表示和实现

    注意: 虽然是用C语言实现,但是考虑到使用了一个C++的特性----引用以简化代码,所以所有的代码均以cpp作为后缀,用g++编译(以后不做说明). g++版本: 一.简述 本节主要讲述线性表的顺序实 ...

  10. HDU 5904 LCIS (最长公共上升序列)

    传送门 Description Alex has two sequences a1,a2,...,an and b1,b2,...,bm. He wants find a longest common ...