使用PHP命令行操作MySQL需启用mysqli或PDO扩展,通过编写脚本连接数据库并执行增删改查。首先检查扩展支持,确保php.ini启用extension=mysqli和extension=pdo_mysql;然后可创建db.php文件,用mysqli或PDO连接数据库。推荐使用PDO,因其支持预处理语句,更安全灵活。示例中包含基本查询操作,并可通过$argc和$argv接收命令行参数实现动态配置连接信息,提升脚本通用性。运行命令为php db.php,传参格式为php db.php host user pass db。

在PHP命令行中连接并操作MySQL数据库,主要通过使用PHP的内置扩展如 mysqli 或 PDO 来实现。下面介绍如何在PHP脚本中通过命令行连接MySQL,并执行基本的增删改查操作。
运行PHP命令行脚本前,确保你的PHP环境已启用 mysqli 或 PDO 扩展:
注意:以下命令在终端(Linux/Mac)或命令提示符(Windows)中执行php -m | grep mysqli
php -m | grep pdo_mysql
如果没有输出,需修改 php.ini 文件,启用对应扩展:
extension=mysqli<br>extension=pdo_mysql
创建一个PHP脚本文件,例如 db.php:
立即学习“PHP免费学习笔记(深入)”;
<?php
$host = 'localhost';
$username = 'your_username';
$password = 'your_password';
$database = 'test_db';
<p>// 创建连接
$conn = new mysqli($host, $username, $password, $database);</p><p>// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}</p><p>echo "数据库连接成功\n";</p><p>// 执行查询
$sql = "SELECT * FROM users LIMIT 5";
$result = $conn->query($sql);</p><p>if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - 名字: " . $row["name"]. "\n";
}
} else {
echo "0 结果\n";
}</p><p>$conn->close();
?></p>在命令行运行:
php db.phpPDO 支持多种数据库,更灵活且支持预处理语句,防止SQL注入。
<?php
$host = 'localhost';
$dbname = 'test_db';
$charset = 'utf8mb4';
$username = 'your_username';
$password = 'your_password';
<p>$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";</p><p>try {
$pdo = new PDO($dsn, $username, $password);
// 设置错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "PDO连接成功\n";</p><pre class='brush:php;toolbar:false;'>$stmt = $pdo->query("SELECT * FROM users LIMIT 5");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $row['id'] . " - 名字: " . $row['name'] . "\n";
}} catch (PDOException $e) { die("连接失败: " . $e->getMessage()); } ?>
同样用命令行运行:
php db.php你可以通过命令行参数动态传入数据库信息,提高灵活性:
<?php
// 接收命令行参数
if ($argc != 5) {
echo "用法: php db.php <host> <user> <pass> <db>\n";
exit(1);
}
<p>$host = $argv[1];
$user = $argv[2];
$pass = $argv[3];
$db = $argv[4];</p><p>$conn = new mysqli($host, $user, $pass, $db);</p><p>if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接到数据库 $db 成功\n";
$conn->close();
?></p>运行方式:
php db.php localhost root 123456 test_db基本上就这些。只要PHP环境配置正确,无论是使用 mysqli 还是 PDO,都能在命令行中顺利连接和操作MySQL数据库。建议优先使用PDO,更安全、更通用。
以上就是PHP命令怎么连接数据库执行_PHP命令行操作MySQL数据库方法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号