使用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,并执行基本的增删改查操作。
1. 确保环境支持MySQL扩展
运行PHP命令行脚本前,确保你的PHP环境已启用 mysqli 或 PDO 扩展:
注意:以下命令在终端(Linux/Mac)或命令提示符(Windows)中执行- 检查是否开启mysqli:
php -m | grep mysqli - 检查PDO MySQL支持:
php -m | grep pdo_mysql
如果没有输出,需修改 php.ini 文件,启用对应扩展:
extension=mysqli
extension=pdo_mysql
2. 使用 mysqli 连接MySQL
创建一个PHP脚本文件,例如 db.php:
立即学习“PHP免费学习笔记(深入)”;
// 创建连接 $conn = new mysqli($host, $username, $password, $database);// 检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }
echo "数据库连接成功\n";
// 执行查询 $sql = "SELECT * FROM users LIMIT 5"; $result = $conn->query($sql);
if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - 名字: " . $row["name"]. "\n"; } } else { echo "0 结果\n"; }
$conn->close(); ?>
在命令行运行:
php db.php3. 使用 PDO 连接MySQL(推荐)
PDO 支持多种数据库,更灵活且支持预处理语句,防止SQL注入。
$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";try { $pdo = new PDO($dsn, $username, $password); // 设置错误模式为异常 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "PDO连接成功\n";
$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.php4. 命令行传参连接数据库
你可以通过命令行参数动态传入数据库信息,提高灵活性:
\n"; exit(1); } $host = $argv[1]; $user = $argv[2]; $pass = $argv[3]; $db = $argv[4];
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接到数据库 $db 成功\n"; $conn->close(); ?>
运行方式:
php db.php localhost root 123456 test_db基本上就这些。只要PHP环境配置正确,无论是使用 mysqli 还是 PDO,都能在命令行中顺利连接和操作MySQL数据库。建议优先使用PDO,更安全、更通用。











