这是场景,我在其中上传了一个 sql 查询的 txt 文件。每次成功上传,我也需要执行它的内容。
好吧,我似乎无法执行一组查询。只需单行查询。
我有查询.txt:
USE `wifi_analyzer`;
CREATE TABLE 'test' (
'username' varchar(10) NOT NULL,
'password' varchar(10) NOT NULL
);
这就是我在我的 cakephp 文件中执行它的方式。
$fullFile = $file_path.$file_name;
$readFile = fopen($file_path.$file_name, 'r');
$contents = fread($readFile,filesize($fullFile));
$this->User->query($contents);
可以读取文件及其内容。但是,它显示一个错误:
SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE 'test' (
'username' varchar(10) NOT NULL,
'password' varchar(10' at line 3 [CORE\cake\libs\model\datasources\dbo_source.php, line 673]
好吧,如果它只是这样的单行查询:
Select * from sometable;
它不显示任何错误。但是这个单一的查询:
CREATE TABLE 'test' (
'username' varchar(10) NOT NULL,
'password' varchar(10) NOT NULL
);
它也不执行。
更新:嗯,我读过这个: http ://www.hardcode.nl/subcategory_4/article_558-execute-mysql-sql-dump-files-via-php-mysqli.htm
但不知道这是否会有所帮助,因为我是在 cakephp 中做的