【发布时间】:2020-10-09 18:30:45
【问题描述】:
我有这个代码:
$possible_pics = array(
'red-pfp' => 'teem-pfp-red.svg',
'pink-pfp' => 'teem-pfp-pink.svg',
'blue-pfp' => 'teem-pfp-blue.svg',
'green-pfp' => 'teem-pfp-green.svg',
'purple-pfp' => 'teem-pfp-purple.svg',
'yellow-pfp' => 'teem-pfp-yellow.svg',
'orange-pfp' => 'teem-pfp-orange.svg',
);
shuffle($possible_pics);
echo reset($possible_pics);
它的结果,我想这样插入到数据库中:
$sentence = $connection->prepare("
INSERT INTO users (id, user, pass, email, profile_pic) VALUES (:id, :user, :password, :email, :profile_pic)
");
$sentence->execute(array(
':id' => $user_id,
':user' => $user,
':password' => $password,
':email' => $email,
':profile_pic' => $possible_pics
));
此时我已经连接到数据库,我只是在做 SQL 代码。
如您所见,我通过数组将值插入到数据库中,并且在:profile_pic 的部分中,我说我想插入我添加到问题中的第一个代码的结果,我正在改组数组,它只给我们带来 1 个值。这里的问题是,当我运行它时,它会显示:
Notice: Array to string conversion on line 73
为什么会发生这种情况,我该怎么做才能插入随机数组的值?在我这样做的地方,它工作得很好,它只有效地返回 1 个值。我不能写implode(),因为它标记了unexpected implode()。
在简历中,如何将我在问题开头显示的随机数组的返回值插入数据库?
【问题讨论】:
-
你试过
':profile_pic' => reset($possible_pics)吗?