PHP操作Mysql总共分五步
- 连接Mysql
- 选择数据库
- 执行SQL语句
- 关闭结果集
- 断开与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的时候,有几个概念有必要搞清楚
- 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