Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 未定义变量:运行原始sql查询时出错_Php_Mysql_Laravel 4 - Fatal编程技术网

Php 未定义变量:运行原始sql查询时出错

Php 未定义变量:运行原始sql查询时出错,php,mysql,laravel-4,Php,Mysql,Laravel 4,我试图使用laravel的DB::statement()使用原始SQL语句插入数据,但问题是当我在播种机中运行它时,控制台认为密码是可变的,而不是字符串 这是密码 DB::statement("INSERT INTO `users` (`id`, `email`, `password`, `permissions`, `activated`, `activation_code`, `activated_at`, `last_login`, `persist_code`, `reset_passw

我试图使用laravel的
DB::statement()
使用原始SQL语句插入数据,但问题是当我在播种机中运行它时,控制台认为密码是可变的,而不是字符串

这是密码

DB::statement("INSERT INTO `users` (`id`, `email`, `password`, `permissions`, `activated`, `activation_code`, `activated_at`, `last_login`, `persist_code`, `reset_password_code`, `first_name`, `last_name`, `created_at`, `updated_at`)
    VALUES
        (13, '1@1.com', '$2y$10$FGKgaSVG6ZQS19mg9c2nMutVjQuIL0OMYsXcB4ZkE5dntL72Wq8N6', NULL, 1, NULL, NULL, NULL, NULL, NULL, 'Edwin', 'Lugo', '2016-01-12 23:49:01', '2016-01-12 23:49:01'),
        (14, '2@1.com', '$2y$10$xIruVm4ju60hIOahIjaP4ewZbVYO69Xwr4IOFw7D5H/74wXNQ8RlO', NULL, 1, NULL, NULL, NULL, NULL, NULL, 'Max', 'Bonilla ', '2016-01-12 23:50:21', '2016-01-12 23:50:21'),
        (15, '3@1.COM', '$2y$10$tmhzXsF5jlTwWDXRObzHLOAmZzDcMDK0GdbImUnUYtfIn.WWaIj8a', NULL, 1, NULL, NULL, NULL, NULL, NULL, 'Denny', 'Tran ', '2016-01-12 23:51:42', '2016-01-12 23:51:42')");
结果是


PS:我正在使用Laravel4

PHP以双引号处理变量。由于
$
和尾随文本(
$2
在PHP中是无效的变量名,因此不会引起问题),因此密码字符串被作为变量读取

问题的简单演示:
更正的简单演示:

代码的外观:

'INSERT INTO `users` (`id`, `email`, `password`, `permissions`, `activated`, `activation_code`, `activated_at`, `last_login`, `persist_code`, `reset_password_code`, `first_name`, `last_name`, `created_at`, `updated_at`)
    VALUES
        (13, "1@1.com", "$2y$10$FGKgaSVG6ZQS19mg9c2nMutVjQuIL0OMYsXcB4ZkE5dntL72Wq8N6", NULL, 1, NULL, NULL, NULL, NULL, NULL, "Edwin", "Lugo", "2016-01-12 23:49:01", "2016-01-12 23:49:01"),
        (14, "2@1.com", "$2y$10$xIruVm4ju60hIOahIjaP4ewZbVYO69Xwr4IOFw7D5H/74wXNQ8RlO", NULL, 1, NULL, NULL, NULL, NULL, NULL, "Max", "Bonilla ", "2016-01-12 23:50:21", "2016-01-12 23:50:21"),
        (15, "3@1.COM", "$2y$10$tmhzXsF5jlTwWDXRObzHLOAmZzDcMDK0GdbImUnUYtfIn.WWaIj8a", NULL, 1, NULL, NULL, NULL, NULL, NULL, "Denny", "Tran ", "2016-01-12 23:51:42", "2016-01-12 23:51:42")'

在PHP中使用字符串封装的单引号<代码>$FGKgaSVG6ZQS19mg9c2nMutVjQuIL0OMYsXcB4ZkE5dntL72Wq8N6因双引号而被读取为变量。SQL字符串封装使用双引号。@chris85整个查询是双引号的,它还会将其作为变量读取吗?是的,将整个内容改为单引号,并将内部部分改为双引号。