-1

我正在尝试将数据插入 MySQL 数据库:

$response = $client->fql->query(
  query => '
    SELECT name, email, birthday, username, first_name, last_name, pic
    FROM   user
    WHERE  uid =  me()
  ',
);

print join "\n Name:",  sort map { $_->{name} } @$response;

$dbh->do("
  INSERT INTO Users(SNo,Name,Email,Birthday,UserName,FirstName,LastName)
  VALUES(1,
         sort map { $_->{name} } @$response,
         'imm\@gmail.com',
         '1987/12/10',
         'imm',
         'imm',
         'Dee')
");

$dbh->disconnect();

在一行中使用了 mysql 查询。

上面的打印语句正确打印了名称,但为什么上面的 sql insert 语句不起作用?

我连接了数据库,之后我收到了值并且在浏览器中打印正在工作。

为什么mysql语句不接受值?插入数据库时​​不起作用?

4

1 回答 1

1

你应该看看官方文档

特别是这个:

# INSERT some data into 'foo'. We are using $dbh->quote() for
# quoting the name.
$dbh->do("INSERT INTO foo VALUES (1, " . $dbh->quote("Tim") . ")");

# Same thing, but using placeholders
$dbh->do("INSERT INTO foo VALUES (?, ?)", undef, 2, "Jochen");
于 2013-09-06T13:17:54.353 回答