OK简介: 我在一台名为“Remote”(Windows 2000 Pro)的机器上运行了Apache和mysql的Apache
Apache 2.0.64 - php 5.2.4 - mysql 4.0.21
我想执行这个命令:
mysql --host = localhost --user = ??? --password = ??? < C:\本地主机\ www_install.sql
文件_install.sql
很简单:
USE my_database;
DROP TABLE my_table;
CREATE TABLE my_table (id INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY(id) );
ALTER TABLE my_table ADD COLUMN datetime DATETIME;
...它会以这种方式添加更多列。
因此,当我使用VNC连接到'Remote'时,打开命令提示符(cmd),重新输入我的命令(先前输入),一切都正确执行,表(my_table和内容)消失了,表格被重新创建重建新栏目。
但是我不想搞乱VNC,因为自动化并不容易,我想用php(通过网页)执行这个命令。第一个想法是:
使用system( )
命令,但将命令粘贴到system( )
函数不起作用:(
有谁知道为什么?
我还尝试了exec( )
和shell_exec( )
而没有得到正面结果。
答案 0 :(得分:0)
为什么在使用PHP进行mysql调用时尝试使用exec()或system()? PHP具有处理此问题的功能:
$mysqli = new mysqli("localhost", "user", "password", "my_database");
$mysqli->query("DROP TABLE my_table");
$mysqli->query("CREATE TABLE my_table (id INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY(id) )");