Array PDO to MYSQL



所以我试图用fav_id输入每个便利设施,但每次我得到这两个错误时,我都在foreach((之前尝试if,但仍然得到相同的两个错误

$inserted_id = $PDO->lastInsertId();
$amenity_name = ['wifi', 'amenity kit'];
$sql = "INSERT INTO user_fav (fav_id, amenity_name) VALUES (:LASTINSERTID, :AMENITY)";
$stmt = $PDO->prepare($sql);
$stmt->bindParam(':LASTINSERTID', $inserted_id);
$stmt->bindParam(':AMENITY', $amenity_name);  --- line 54


foreach($amenity_name as $item) { --- line 57
$stmt->execute($item);
}

我收到这两个错误

注意:第54行的数组到字符串转换
警告:为第57行的foreach((提供的参数无效

此行

$stmt->bindParam(':AMENITY', $amenity_name);

$amenity_name从数组更改为字符串:

注意:数组到字符串的转换

然后你不能对它进行迭代(因为它是一个字符串,可单位化(,所以你也会收到:

警告:为foreach((提供的参数无效

您应该在foreach:中绑定

$inserted_id = $PDO->lastInsertId();
$amenity_name = ['wifi', 'amenity kit'];
$sql = "INSERT INTO user_fav (fav_id, amenity_name) VALUES (:LASTINSERTID, :AMENITY)";
$stmt = $PDO->prepare($sql);
foreach($amenity_name as $item) {
$stmt->execute(array('LASTINSERTID' => $inserted_id, 'AMENITY' =>$item));
}

最新更新