PHP连接MySQL数据库的几种方法

1.最简单的方式-mysql(面向过程)

<?php

$con = mysql_connect("localhost","root","password");

$select_db = mysql_select_db('test');

if (!$select_db) {

    die("could not connect to the db:\n" .  mysql_error());

}

//查询代码

$sql = "select * from db_table";

$res = mysql_query($sql);

if (!$res) {

    die("could get the res:\n" . mysql_error());

}

while ($row = mysql_fetch_assoc($res)) {

    print_r($row);

}

//查询代码

//关闭数据库连接

mysql_close($con);

?>

)

2.新的方式-mysqli(面向过程)

)

$mysql_server_name = 'localhost'; //改成自己的mysql数据库服务器

$mysql_username = 'root'; //改成自己的mysql数据库用户名

$mysql_password = 'password'; //改成自己的mysql数据库密码

$mysql_database = 'test'; //改成自己的mysql数据库名

$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接数据库

//连接数据库错误提示

if (mysqli_connect_errno($conn)) { 

    die("连接 MySQL 失败: " . mysqli_connect_error()); 

}

mysqli_query($conn,"set names utf8"); //数据库编码格式

// mysqli_set_charset($conn,"utf8");//设置默认客户端字符集。

// mysqli_select_db($conn,$mysql_database); //更改连接的默认数据库

//查询代码

$sql = “select * from db_table”;

$query = mysqli_query($conn,$sql);

while($row = mysqli_fetch_array($query)){

    echo $row['title'];

}

//查询代码

// 释放结果集+关闭MySQL数据库连接

mysqli_free_result($result);

mysqli_close($conn);

)

3、常用方式-mysqli(面向对象)

)

//连接数据库方式1

$conn = new mysqli('localhost', 'root', 'password', 'test');

//连接数据库方式2

// $conn = new mysqli();

// $conn -> connect('localhost', 'root', 'password', 'test');

//check connection (检查PHP是否连接上MYSQL)

if ($conn -> connect_errno) {

    printf("Connect failed: %s\n", $conn->connect_error);

    exit();

}

//查询代码

$sql = “select * from db_table”;

$query = $conn->query($sql);

while($row = $query->fetch_array()){

    echo $row['title'];

}

//查询代码

//释放结果集+关闭MySQL连接

$query1 -> free_result();

$conn -> close();

)

4、PDO连接MySQL数据库

)

<?php

$db = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');

try {

    foreach ($db->query('select * from db_table') as $row){

    print_r($row);

    }

    $db = null; //关闭数据库

} catch (PDOException $e) {

    echo $e->getMessage();

}

?>

)

5、ADODB连接MySQL数据库

)

<?php

//安装驱动-引入类即可

require_once './adodb5/adodb.inc.php';

$conn = &ADONewConnection('mysql');

$conn->connect('localhost','root','password','test');

$conn->Execute("set names utf8");

//查询代码

$res = $conn->Execute("select * from db_table");

if (!$res){

    echo $conn->ErrorMsg();

}else{

    var_dump($res);

}

?>

//关闭连接

$conn->close();

)

6、总结-关闭mysql数据库的连接方法

MySQL - 面向过程

    mysql_close($conn);

MySQLi - 面向过程

    mysqli_close($conn);

MySQLi - 面向对象

    $conn->close();

PDO

    $conn = null;

ADODB

    $conn->close();

或

    $conn->free();

php链接mysql,php链接mysql的常用方法的更多相关文章

  1. 在sql server使用链接服务器中访问mysql

    ----创建ODBC链接EXEC sp_addlinkedserver @server = 'MySQL', @srvproduct='MySql' , @provider = 'MSDASQL', ...

  2. windows下用navicat远程链接虚拟机Linux下MySQL数据库

    今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题.这里说一下我的解决方法.(本人小白) 首先,我用navicat去远 ...

  3. MySQL的链接,查看数据库,使用数据库,查看表

    MySQL的链接,查看数据库,使用数据库,查看表 mysql> show databases; +--------------------+ | Database | +------------ ...

  4. nodejs -mysql模块链接数据库创建库创建表单。

    var mysql = require('mysql'); var connection= mysql.createConnection({ host:'localhost', user:'root' ...

  5. android+eclipse+mysql+servlet(Android与mysql建立链接)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原创地址  .作者信息和本声明.http://www.cnblogs.com/zhu520/p/7724524.html 经过两天的时间我终于把A ...

  6. mysql 的链接字符

    mysql的链接字符: driver =com.mysql.cj.jdbc.Driverurl =jdbc:mysql://localhost:3306/oa?serverTimezone=Asia/ ...

  7. Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)?

    问题:Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)? 在使用navicat 连接mysql数据 ...

  8. 【微信开发】LINUX-windows下用navicat远程链接虚拟机Linux下MySQL数据库

    今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题.   MySQL登陆:mysql -h主机地址 -u用户名-p用户 ...

  9. linux下mysql远程链接

    前言:我的系统是ubuntu,默认不支持mysql远程链接.接下来的步骤改变这点. 1,首先取消mysql本机绑定 编辑/etc/mysql/my.cnf 将”bind-address = 127.0 ...

  10. windows下远程链接虚拟机Linux下MySQL数据库问题处理

    参考解决:https://www.cnblogs.com/blogforly/p/5997553.html 今天远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对 ...

随机推荐

  1. 关于Mybatis中表中字段名和POJO中字段名不同的解决方法

    项目结构: POJO中: package com.domain; /** * @author mzy * 定义orders表对应的实体类 */ public class Order { /** * C ...

  2. vue post 请求 是 request payload 而不是 FromData ,以及 格式转换成 FromData 需要的 key value 格式

    export function 方法名字(传进来要给后端的参数){     return request({         url : ' 后端提供的接口路径  ',         method  ...

  3. 【SpringMVC】完全注解配置SpringMVC

    创建初始化类,代替web.xml 在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来 ...

  4. Python - repr()、str() 的区别

    总的来说 str():将传入的值转换为适合人阅读的字符串形式 repr():将传入的值转换为 Python 解释器可读取的字符串形式 传入整型 # number resp = str(1) print ...

  5. Golang入门学习(二):控制分支

    文章目录 @[TOC] 1. 控制分支 1.1 if-else分支 1.2 switch分支 1.4 while 和do...while循环结构 1.5 多种循环结构 1.6 break 1.7 co ...

  6. netfilter框架之hook点

    1. Netfilter中hook的所在位置 当网络上有数据包到来时,由驱动程序将数据包从网卡内存区通过DMA转移到设备主存区(内存区), 之后触发中断通知CPU进行异步响应,之后ip_rcv函数会被 ...

  7. DataTable 增加、修改、删除

    using System; using System.Data; using System.Windows.Forms; using DotNet.Utilities; namespace Windo ...

  8. Throwable中3个异常的方法

  9. vue-element-admin 全局loading加载等待

    最近遇到需求: 全局加载loading,所有接口都要可以手动控制是否展示加载等待的功能 当拿到这个需求的时候我是拒绝的,因为我以及局部写好了0.0,这是要大改呀....,没办法老板的要求,只能硬着头皮 ...

  10. vue从mock数据过渡到使用后台接口

    说明: 最近在搭建一个前端使用vue-element-admin,后端使用springBoot的项目. 由于vue-element-admin使用的是mock的模拟数据跑起来的项目,所以在开发过程中难 ...