给出的代码在Windows系统中可执行吗?好像是Linux命令

   echo 'create database foo2' | mysql -uroot
    mysqldump --skip-triggers -uroot foo | mysql -uroot foo2



  已编辑
  我正在执行以下代码,但没有得到我所期望的。


<?php
mysql_connect('localhost','root','********');
echo 'create database pranav_chk'. | mysql -u root
    mysqldump --skip-triggers -u root pranav_test | mysql -u root pranav_chk;
 ?>

最佳答案

该代码使用了三个命令行功能:


echo命令
通过管道连接命令(|符号)
mysql命令行客户端


这三个版本在Windows和Linux上均可用并且工作相同(在这里使用的程度),因此代码实际上是可移植的。

编辑:代码需要在shell中运行,您不能仅仅将其放入PHP脚本中。您必须使用exec(),如下所示:

<?php
  exec("echo 'create database foo2' | mysql -uroot");
  exec("mysqldump --skip-triggers -uroot foo | mysql -uroot foo2");
?>


但是,之前的mysql_connect()调用对您没有任何好处,因为它仅对PHP脚本有效。您必须直接通过命令行进行身份验证。或者,您可以使用它和mysql_create_db()替换第一行exec()

10-07 14:06