将2个不同的数组值插入数据库不起作用

I'm trying to insert 2 values from arrays into a database. There's nothing wrong with the connection, the fields where $fullArr and $thumbArr get inserted are longtexts, and when I try to insert 1 array value it works fine ($fullArr or $thumbArr). As soon as both arrays get used in the query it stops working.

The values in the arrays are data-urls.

private function submitPhoto() {

global $database;

$projectid = $_POST['projectid'];
$fullArr = $_POST['fullArr'];
$thumbArr = $_POST['thumbArr'];

$count = 0;

foreach($thumbArr as $key) {

// Insert Thumb

$database->query("INSERT INTO `photo` (photoid, projectid, dataurlfull, dataurlthumb) VALUES('', '" . $projectid . "', '" . $fullArr[$count] . "', '" . $key . "')");

$count++;
}
}

Try changing the query:

$database->query("INSERT INTO `photos` (photoid, projectid, dataurlfull, dataurlthumb) VALUES('', '$projectid', '$fullArr[$count]', '$key')");

Is it possible you are not executing the query inside the foreach() loop, so the last one will 'overwrite' any that you had before? Also, the $count is not necessary as you can use the $key. Try something like-

foreach($thumbArr as $key=>$value) {
   // Insert Thumb  
   $database->query("INSERT INTO `photo` (photoid, projectid, dataurlfull, dataurlthumb) VALUES('', '" . $projectid . "', '" . $fullArr[$key] . "', '" . $thumbArr[$key] . "')");
   $database->execute();
}

Be aware that you are open to SQL injection as you are using $_POST data without sanitizing. If you are using mysqli_ or PDO, use paramatized statements

foreach($thumbArr as $key=>$value) {
   // Insert Thumb  
   $database->query("INSERT INTO `photo` (photoid, projectid, dataurlfull, dataurlthumb) VALUES('', ?, ?, ?)");
   $database->bindParam(1,$projectid);
   $database->bindParam(2,$fullArr[$key]);
   $database->bindParam(3,$thumbArr[$key]);
   $database->execute();
}