当phinx迁移时,无法正确识别双引号中的字符串("")

时间:2018-03-14 02:14:38

标签: php string migration phinx

enter image description here

我使用phinx进行迁移,上面的图片是数据种子 (我只是装了一些部分,对不起)

如您所见,有蓝色字符 不承认,我不知道为什么...... 它们在双引号内#34; "我认为所有引号(",',`)都能正确匹配 但是当我这样做时

$ php phinx migrate

结果变成这样:

enter image description here

不知何故,这些蓝色字符被识别为变量而不是字符串?任何猜测的可能性将不胜感激。我使用VSCode(不要以为我必须说这个但是......是的)

1 个答案:

答案 0 :(得分:1)

当在双引号内时,PHP会将$something解释为变量,因此在您的迁移代码中,PHP会尝试获取图片中所有这些蓝色值的值。

为了使其工作,您需要使用单引号并转义查询中的每个单引号,或保留双引号并仅转义美元符号(如果适用)。

<?php
$a = "test";
echo "this is a $a"; // this is a test <-- this is what's happening to you
echo 'this is a \'$a\''; // this is a '$a' <-- one option
echo "this is a \$a"; // this is a $a <-- another opcion

所以它看起来像这样:

$this->execute("INSERT INTO table (email, password) VALUES ('email@test.com', '\$2y\$10\$aerjgap2341234ommubi1234123');