0

so i'm trying to get each amenity entered with fav_id but every time i get these two errors i tried with if before foreach() but still get the same two errors

 $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);
}

i get these two ERRORS

Notice: Array to string conversion on line 54
Warning: Invalid argument supplied for foreach() on line 57

0

1 Answer 1

2

This line

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

changes $amenity_name from an array to a string:

Notice: Array to string conversion

you then can't iterate over it (because it is a string, uniterable) so you also receive:

Warning: Invalid argument supplied for foreach()

you should bind in the 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));
}
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.