PHP 基础(12)之使用PHP操作MySQL

PHP操作Mysql总共分五步

  1. 连接Mysql
  2. 选择数据库
  3. 执行SQL语句
  4. 关闭结果集
  5. 断开与Mysql服务器的连接

=============================================================

PHP 使用三种API操作MySQL 分别是mysql(新版PHP已弃用) mysqli  PDOextensions

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT ‘Hello, dear MySQL user!‘ AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row[‘_message‘]);

// PDO
$pdo = new PDO(‘mysql:host=example.com;dbname=database‘, ‘user‘, ‘password‘);
$statement = $pdo->query("SELECT ‘Hello, dear MySQL user!‘ AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row[‘_message‘]);

// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT ‘Hello, dear MySQL user!‘ AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row[‘_message‘]);
?>

最后一种方式不推荐使用,已经在PHP5.5.0中被弃用。推荐使用mysqli,PDO extensions的方式。

选择哪一种库?以上三种api都是C库的轻量级封装。

有两种选择mysqlnd,libmysqlclient推荐使用mysqlnd,该库从PHP5.3.0开始内置在PHP中,可以提供lazy connections 和query caching等特性。

在使用PHP api操作mysql的时候,有几个概念有必要搞清楚

  1. buffered and unbuffered queries

PHP的查询默认使用缓冲模式,即查询结果有MySQL Server返回到PHP的时候存在PHP进程的内存里的,这样可以对查询结果进一步的操作,缺点是有可能占用内存过大。(又被称为store result)

PHP的非缓冲模式在查询后返回一个资源,但是查询结果数据仍然在Mysql服务器上。这样PHP占用内存减少,但是Mysql服务器的压力则会增大.(又被称为use result)

因此缓冲模式适用于查询结果较少的情况下,非缓冲模式适用于大量查询结果的情况。

使用mysqli非缓冲查询的一个例子

<?php
$mysqli  = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

if ($uresult) {
   while ($row = $uresult->fetch_assoc()) {
       echo $row[‘Name‘] . PHP_EOL;
   }
}
$uresult->close();
?>

使用pdo_mysql的非缓冲查询的例子

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", ‘my_user‘, ‘my_pass‘);
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$uresult = $pdo->query("SELECT Name FROM City");
if ($uresult) {
   while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
       echo $row[‘Name‘] . PHP_EOL;
   }
}
?>

===================使用PHPStorm如何配置MySQL==============================

View--->Tool Windows--->Database

输入主机名 username,password

点击mysql安装驱动

时间: 2024-12-31 03:25:53

PHP 基础(12)之使用PHP操作MySQL的相关文章

php最全基础,数组,函数,超全局变量,时间,回话,文件,php操作mysql

共享一份学习php最全基础语法知识的笔记 原文链接:http://www.cnblogs.com/oscn/p/3607757.html:略有修改   http://www.cnblogs.com/ljab/p/6125995.html略有修改 1.判断php短标记<??>是否适用,查看php配置文件php.ini中的"short_open_tag = On"2.官方的标记<?php?>  , <script language="php"

mysql基础之对库表操作

原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [charset 字符集] 删除一个数据库: drop database 数据库名; 把数据库改改名? Mysql中,表/列可以改名,database不能改名. phpMyAdmin似乎有这功能? 他是建新库,把所有表复制到新库,再删旧库完成的. 当选了库之后,我们面对的是表 查看库下面的所有表: show

Python操作Mysql基础教程

Python操作Mysql 最近在学习python,这种脚本语言毫无疑问的会跟数据库产生关联,因此这里介绍一下如何使用python操作mysql数据库.我python也是零基础学起,所以本篇博客针对的是python初学者,大牛可以选择绕道. 另外,本篇博客基于的环境是Ubuntu13.10,使用的python版本是2.7.5. MYSQL数据库 MYSQL是一个全球领先的开源数据库管理系统.它是一个支持多用户.多线程的数据库管理系统,与Apache.PHP.Linux共同组成LAMP平台,在we

python 之路12 RabbitMQ Python 操作mysql

1. RabbitMQ简介 rabbitmq服务类似于mysql.apache服务,只是提供的功能不一样.rabbimq是用来提供发送消息的服务,可以用在不同的应用程序之间进行通信. 2.安装RabbitMQ Ubuntu 14.04 sudo apt-get install rabbitmq-server 安装好后,rabbitmq服务就已经启动好了.接下来看下python编写Hello World!的实例.实例的内容就是从send.py发送“Hello World!”到rabbitmq,re

python基础篇-python操作mysql

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymysql 下载安装 pip3 install pymysql #pip3命令的路径:安装路径下的Scripts目录 # 下载 pymysql到本地 # 解压到执行目录 # python2,默认无pip命令 # python3,默认自带pip3命令 python3 -m pip install --upgrade pip 更新pip #https://pypi.python.org/

【操作mysql】-- Python基础

这次些的文章是对于python3.x,连接数据库的库使用的是pymysql 在教程开始的时候需要先了解下mysql: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件.      MySQL是一种关系数据库管理系统,关系数据库将数据

LightMysql:为方便操作MySQL而封装的Python类

原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python操作MySQL数据库的一个常用包.但在使用过程中,我认为用起来还不够简便.为此,我在mysqldb的基础上封装了一个Python类LightMysql. 先来看如何使用 example.py #!/usr/bin/env python # -*- coding: utf-8 -*- from Lig

C#操作Mysql

C#操作Mysql的简单.基础方法: 1 class MysqlManager 2 { 3 MySqlConnection conn; 4 5 public MysqlManager(string strConn) 6 { 7 conn = new MySqlConnection(strConn); 8 } 9 10 public DataTable GetData(string strCmd) 11 { 12 try 13 { 14 MySqlDataAdapter adpt = new My

python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 ? 1 pip3 install pymysql 使用操作 1.执行SQL + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/env python # -*-