Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeception-无法运行dump.sql-(数据库中的异常)SQLSTATE[42000]:语法错误或访问冲突_Php_Mysql_Codeception - Fatal编程技术网

Php Codeception-无法运行dump.sql-(数据库中的异常)SQLSTATE[42000]:语法错误或访问冲突

Php Codeception-无法运行dump.sql-(数据库中的异常)SQLSTATE[42000]:语法错误或访问冲突,php,mysql,codeception,Php,Mysql,Codeception,当我运行验收测试时,我得到以下错误。如果dump.sql中没有任何内容,那么测试将运行。在测试中,我能够访问数据库。以下两个文件中的数据库凭据相同。dump.sql加载使用acceptance.suite.yml是正确的,因为我在acceptance.suite.yml中故意将dump.sql命名错误,然后在codeception.yml中使用了acceptance.suite.yml中的设置?我说的测试步骤使用PDO,而PDO使用codeceptan.yml,对吗?如果它们是相同的,那么为什么

当我运行验收测试时,我得到以下错误。如果dump.sql中没有任何内容,那么测试将运行。在测试中,我能够访问数据库。以下两个文件中的数据库凭据相同。dump.sql加载使用acceptance.suite.yml是正确的,因为我在acceptance.suite.yml中故意将dump.sql命名错误,然后在codeception.yml中使用了acceptance.suite.yml中的设置?我说的测试步骤使用PDO,而PDO使用codeceptan.yml,对吗?如果它们是相同的,那么为什么我会得到访问冲突

acceptance.suite.yml

codeception.yml

dump.sql 创建表xxx< 错误: [Codeception\Exception\Module] Db SQLSTATE[42000]中出现异常:语法错误或访问冲突:1064 Y 您的SQL语法有错误;检查与y对应的手册 我们的MySQL服务器版本提供了正确的语法∩╗┐创建表'f'

  CREATE TABLE

看起来这些无关字符是在CREATE TABLE语句的前面。去掉这些,你就可以开始了…

我也注意到了,但是当我打开dump.sql文件时,我看不到这一点。当我复制dump.sql中的内容并粘贴到mysql中时,它运行良好。创建是在mysql内部生成的。您是否可以尝试这样做来从dump.sql文件中删除无关字符:alvinalexander.com/blog/post/linux-unix/how-remove-non-printable-ascii-characters-file-unix…并检查这是否有效?我进入了记事本++>编码>从UTF8改为ANSI>保存>重新运行,现在它已经起作用了。
actor: Tester
paths:
tests: tests
log: tests/_output
data: tests/_data
helpers: tests/_support
settings:
bootstrap: _bootstrap.php
colors: true
memory_limit: 1024M
modules:
enabled: [PhpBrowser,Db]
config:
    Db:
        dsn: 'mysql:host=xxx;dbname=xxx'
        user: 'xxx'
        password: 'xxx'
        dump: 'test/_data/dump.sql'
        populate: 'true'
        cleanup: 'true'
  CREATE TABLE