我使用phinx进行迁移,上面的图片是数据种子 (我只是装了一些部分,对不起)
如您所见,有蓝色字符 不承认,我不知道为什么...... 它们在双引号内#34; "我认为所有引号(",',`)都能正确匹配 但是当我这样做时
$ php phinx migrate
结果变成这样:
不知何故,这些蓝色字符被识别为变量而不是字符串?任何猜测的可能性将不胜感激。我使用VSCode(不要以为我必须说这个但是......是的)
答案 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');