我尝试捕获错误输出。
<?php
$output = array();
$command = <<<END
mysql -h$host -u$user --password='$pass' --execute="create database $name;" 2>&1
END;
exec($command, $output, $code);
?>
但是此查询在终端中返回错误:“数据库已存在”。
当我删除2&gt;&amp; 1
时 $command = <<<END
mysql -h$host -u$user --password='$pass' --execute="create database $name;"
END;
exec($command, $output, $code);
如何获得正确的$ output和$ code值?
答案 0 :(得分:2)
有同样的问题,除了我导入.sql文件而不是使用--execute
在我添加2&gt;&amp; 1并使用双引号而不是单引号后,它工作了。
exec("mysql -h $host -u $user -p$pass my_db < \"faulty_sql.sql\" 2>&1",$output);
答案 1 :(得分:0)
使用system()
p.s:为什么不使用msyql_query('your query');
?