准备工作:
- 安装php的IDE,如PhpStorm
- 下载php并解压,官网:https://www.php/downloads
- PhpStorm配置php开发环境
(1)打开PhpStorm,点击File->Settings:
(2)点击"Languages & Frameworks”,找到PHP
(3)选择php版本,选择CLI Interpreter(客户端解释器,需要去你下载的PHP,解压目录下找)
- 修改php.ini文件
新版的php 7中,并没有php.ini,但是有两个以php.ini开头的文件:php.ini-development和php.ini-production,复制其中一个,重命名为php.ini。
打开php.ini,主要修改两个地方(修改这两个地方其实是为了能够使用pdo和mysqli连接MySQL数据库):
(1)去掉extension=mysqli前面的“;”:
(2)去掉extension=pdo_mysql前面的“;”:
(3)去掉 On windows: extension_dir =“ext”前面的分号,并将extension_dir的值修改成php扩展包所在的路径(php解压目录下,有一个名为ext的文件夹,用于存储dll文件)。
- 连接MySQL测试:
(1)使用PDO连接MySQL(参照菜鸟教程上的样例):
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
try {
$conn = new PDO("mysql:host=$servername;dbname=emailmarket;port=3306", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
(2)使用 MySQLi连接:
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
测试截图:
4.读取数据库表中的数据:
(1)PDO:
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>邮箱</th><th>授权码</th><th>smtp服务器</th></tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "localhost";
$username = "root"; // 用户名
$password = "123456"; // 密码
$dbname = "emailmarket"; // 数据库名称
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM tb_account");
$stmt->execute();
// 设置结果集为关联数组
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
(2)MySQLi:
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "emailmarket";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM tb_account";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "Email: " . $row["account"]. " - Password: " . $row["password"]. " - SMTP: " . $row["smtp"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
参考链接:
https://blog.csdn/Bruce_Wang_Lelouch/article/details/88946459
https://blog.csdn/weixin_34381687/article/details/91774540
https://www.runoob/php/php-mysql-select.html
https://www.php/jishu/php/409890.html
https://wwwblogs/starfish29/p/10898602.html
更多推荐
php 7.4连接MySQL
发布评论