PHP连接数据库的方式
1,旧的方式 - mysql(面向过程)
- 1 <?php
- 2 //定义连接参数
- 3 $host = 'localhost';
- 4 $user = 'root';
- 5 $password = '';
- 6 $dbname = 'databasename';
- 7
- 8 //第一步开始连接到数据库主机地址
- 9 $con = @mysql_connect($host, $user, $password); #错误抑制符在产生错误的时候不提示错误
- 10 //如果没有连接成功,提示错误
- 11 if(!$con){
- 12 die("Could not connect to the server: \n" . mysql_error());
- 13 }
- 14
- 15 //第二步开始选择数据库
- 16 $select_db = mysql_select_db($dbname);
- 17 #开始判定
- 18 if(!$select_db){
- 19 die("Could not select the database: \n" . $dbname . mysql_error());
- 20 }
- 21
- 22 //第三步开始查询数据库
- 23 $sql = "select * from table"; #定义sql语句
- 24 $res = mysql_query($sql); #利用mysql_query方法查询结果并存储在$res中
- 25 //开始判定是否取得结果
- 26 if(!$res){
- 27 die("Could not get the results: \n" . mysql_error());
- 28 }
- 29
- 30 //第四步在浏览器显示结果
- 31 while($row = mysql_fetch_assoc($res)){
- 32 print_r($row);
- 33 }
- 34 ?>
2,新的方式myslqi(面向过程)
- 1 <?php
- 2 //定义连接参数
- 3 $host = 'localhost';
- 4 $user = 'root';
- 5 $password = '';
- 6 $dbname = 'databasename';
- 7
- 8 //开始连接数据库
- 9 $conn = mysqli_connect($host, $user, $password, $dbname);
- 10 #判定是否连接成功
- 11 if(mysqli_connect_errno($conn)){
- 12 die("Could not connect to the database: \n" . mysqli_connect_error());
- 13 }
- 14
- 15 //设置查询数据库编码格式
- 16 mysqli_query($conn, "set names utf8"); #设置数据库编码格式,注意utf8没有-;
- 17
- 18 //定义查询语句
- 19 $sql = "select * from table";
- 20 //开始查询
- 21 $query = mysqli_query($conn, $sql);
- 22
- 23 //获取结果
- 24 while($row = mysqli_fetch_array($query)){
- 25 print_r($row);
- 26 }
- 27
- 28 //释放结果
- 29 mysqli_free_result($query);
- 30 //关闭连接
- 31 mysqli_close($conn);
- 32 ?>
3,个人喜欢的方式,mysqli(面向对象)
- 1 <?php
- 2 //定义连接参数
- 3 $host = 'localhost';
- 4 $user = 'root';
- 5 $password = '';
- 6 $dbname = 'databasename';
- 7
- 8 //开始连接数据库
- 9 $conn = new mysqli($host, $user, $password, $dbname);
- 10 /*
- 11 也可以这样连接
- 12 $conn = new mysqli();
- 13 $conn->connect($host, $user, $password, $dbname);
- 14 */
- 15 //开始判定是否连接
- 16 if($conn->connect_errno){
- 17 die("Could not connect to the databse: \n" . $conn->connect_error);
- 18 }
- 19
- 20 //定义sql语句
- 21 $sql = "select * from table";
- 22 //调用对象方法query进行查询
- 23 $query = $conn->query($sql);
- 24
- 25 //开始返回结果并打印在浏览器上
- 26 while($row = $query->fetch_array()){
- 27 print_r($row);
- 28 }
- 29
- 30 //释放结果
- 31 $query->free_result();
- 32 //关闭连接
- 33 $conn->close();
- 34 ?>
4,利用mysql做一个类来查询数据库
- 1 <?php
- 2 class databaseConnect{
- 3 //初始化连接数据库的必要参数
- 4 private $host = 'localhost';
- 5 private $user = 'root';
- 6 private $password = '';
- 7 private $dbname = 'databasename';
- 8
- 9 //类被实例化后直接显示结果
- 10 public function __construct(){
- 11 $this->connect_to_server();
- 12 $this->select_the_database();
- 13 $this->get_results();
- 14 }
- 15
- 16 //用private关键词封装数据库连接方法
- 17 private function connect_to_server(){
- 18 $con = @mysql_connect($this->host, $this->user, $this->password);
- 19 if(!$con){
- 20 die("Could not connect to the server: \n" . mysql_error());
- 21 }
- 22 }
- 23
- 24 //用private关键词封装数据库选择方法
- 25 private function select_the_database(){
- 26 $select_db = mysql_select_db($this->dbname);
- 27 if(!$select_db){
- 28 die("Could not select the database: \n" . $this->dbname . " " . mysql_error());
- 29 }
- 30 }
- 31
- 32 //用private关键字封装数据库查询方法
- 33 private function query_db(){
- 34 $sql = "select * from table";
- 35 $query = @mysql_query($sql);
- 36 if(!$query){
- 37 die("Could not get the query: \n" . mysql_error());
- 38 }
- 39 return $query; #将结果返回到调用的代码行
- 40 }
- 41
- 42 //用private关键字封装结果方法
- 43 private function get_results(){
- 44 $res = $this->query_db(); #取得数据库查询方法里的结果
- 45 $row = mysql_fetch_assoc($res);
- 46 print_r($row);
- 47 }
- 48 }
- 49
- 50 $s = new databaseConnect(); #实例化类并赋值给$s得到一个databaseConnect的对象,首先调用的方法就是__construct();得到结果在浏览器
- 51
- 52 var_dump($s);
- 53
- 54 ?>
PHP连接数据还有PDO。
PHP连接数据库的方式的更多相关文章
- node-mongodb-native的几种连接数据库的方式
h1,h2,h3,h4,h5,h6,p,blockquote { margin: 0; padding: 0;}body { font-family: "Helvetica Neue&quo ...
- PDO的三种连接数据库的方式
PDO的三种连接数据库的方式 PDO的出现是为了解决PHP与各个数据库的连接处理都有各自的函数的问题,它的高度抽象,使得使用起来极其的方便.由于最常用的搭配就是PHP+Mysql,所以这里就以连接 ...
- MYSQL:python 3.x连接数据库的方式
我们想要在我们的mython程序中使用mysql,首先需要安装pymysql模块,安装方式可以使用cmd命令安装, pip3.x install pymysql 首先在我们连接数据库之前先创建一个us ...
- tomcat6配置jndi连接数据库的方式
eworkflow工作流+eform表单+ebiao报表集成在一起,用tomcat6发布,并用jndi连接数据库,数据库是sqlserver2005,配置如下: 1.在tomcat6\conf\con ...
- EF4.1之Code first 的几种连接数据库的方式
通过代码 进行连接和创建数据库的方法主要分为两种: 1.使用用连接字符串(在配置文件里面): 连接字符串: <add name="DbEntities" connection ...
- java用JDBC连接数据库的方式
//驱动位置String sDBDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//连接数据库地址名字String ...
- MySQL 简洁连接数据库方式
OS : CentOS 6.3 DB : 5.5.14 MySQL连接数据库的方式很多: 1.[root@db01 bin]# ./mysql -uroot -p 2.[root@db01 ...
- Java连接数据库的4中方式详解
Java连接数据库的方式有多种:根据所需要的不同数据库驱动分,分为四种: 1:1类驱动.这就是JDBC-ODBC桥的方式. 但这种方式不适合程序的重用与维护,不推荐使用.需要数据库的ODBC驱动. 2 ...
- ASP.NET连接数据库并获取数据
关键词:连接对象的用法SqlConnection,SqlCommand,SqlDataAdapter *数据访问方式的写法 工具/原料 VS SQL SERVER 2012 R2 方法/步骤1: 1. ...
随机推荐
- Unity减少构建安装包的体积(210MB减小到7MB)
概述 项目简介 由于是公司内做的项目,不方便开源,就只分享优化过程吧. 项目信息 逐日是一个移动端单机小游戏,使用Unity开发,目前已将项目使用的Unity升级到2019.4.14f1c1 (3e5 ...
- 【电子取证:FTK Imager篇】FTK Imager制作镜像详细介绍
FTK Imager制作镜像详细介绍 以DD镜像制造为例,详细介绍了FTK Imager创建镜像的过程,记得大学的时候学习这些没什么教程,找到的资料也是语焉不详,故在此啰嗦一番---[suy] 一.磁 ...
- 【模版 Luogu P3808/P3796/P5357】AC自动机(简论)
浙江集训Day9,没有出任何实质性成果,只好把昨天打完的板子记一下. 该博客基于luogu的三道模版题.只有一个大致的讲解,主要提供代码给自己参考. ------------------------- ...
- Java蓝桥杯——贪心算法
贪心算法 贪心算法:只顾眼前的苟且. 即在对问题求解时,总是做出在当前看来是最好的选择 如买苹果,专挑最大的买. 最优装载问题--加勒比海盗 货物重量:Wi={4,10,7,11,3,5,14,2} ...
- Beta冲刺随笔——Day_Four
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...
- 无所不能的Embedding5 - skip-thought的兄弟们[Trim/CNN-LSTM/quick-thought]
这一章我们来聊聊skip-thought的三兄弟,它们在解决skip-thought遗留问题上做出了不同的尝试[Ref1-4], 以下paper可能没有给出最优的解决方案(对不同的NLP任务其实没有最 ...
- 第8.10节 使用__class__查看Python中实例对应的类
一. 语法释义 __class__属性很简单,直接返回实例对应的类.语法如下: 实例. class 当不知道一个实例的类名又想对类的部分内容进行访问时可以使用__class__返回类. 注意:是返回实 ...
- [BJDCTF 2nd]xss之光
[BJDCTF 2nd]xss之光 进入网址之后发现存在.git泄露,将源码下载下来,只有index.php文件 <?php $a = $_GET['yds_is_so_beautiful']; ...
- js- 实现属性名的拼接 obj['name']
obj.name---->obj[name] 这两种调用方式一样,使用obj.name内部转换成 obj['name'], 使用obj['name']更快. obj['name'] 里面必须是 ...
- 精品软件-OfficeBox办公神器
办公文档office处理套件,非常齐全,小巧! 官方地址:http://www.wofficebox.com/