сценарий должен вставлять несколько данных в базу данных но по какой-то причине он вставляет только первые данные. Это аспект моего кода, который вызывает проблему.
$pledge_amount = "400";
$getDonors = mysqli_query($connection, "SELECT * FROM `highck39_earn`.`users` WHERE `tomerge` = '2' AND `role`='0' AND `status` = '0' AND `username` != '$username' ORDER BY `reward_date` ASC LIMIT 0, 2");
$i=0;
while($resultObj = mysqli_fetch_assoc($getDonors)){
$rewardBal = $resultObj['reward_balance'];
$ind_amt = $pledge_amount/2;
$do_donation = mysqli_query($connection, "INSERT INTO `highck39_earn`.`donations` (`id`, `transaction_id`, `sender`, `sender_name`, `sender_number`, `sender_momo_number`, `receiver`, `receiver_name`, `receiver_number`, `receiver_momo_number`, `amount`, `date`, `status`) VALUES (NULL, '{$transcode}', '{$username}', '{$fullname}', '{$phone}', '{$momo}', '{$resultObj['username']}', '{$resultObj['fullname']}', '{$resultObj['phone']}', '{$resultObj['momo']}', '{$ind_amt}', '{$pledge_date}', '1')");
$i++;
echo $i;
echo $resultObj['fullname']. ' - '. $ind_amt.'<br>';
// if ($cnt % 2 == 0) echo "<br>";
// $data2 = array("fullname" => $fullname, "receiver"=>$resultObj['fullname']);
//echo json_encode($data2,JSON_FORCE_OBJECT);
}
Вы можете сделать это с помощью 1 запроса. Посмотрите на синтаксис INSERT INTO ... SELECT, который поддерживает MySQL. Гугл буквально ту часть, которую я выделил в коде.
@BlobbyBob $ i печатает 1 и 2 на экране
@RichardNeaver Проверьте возвращаемое значение $do_donaton. mysqli_query() возвращает false в случае ошибки. Вы также можете посмотреть mysqli_num_rows(), который возвращает количество вставленных строк.






У вас есть какая-либо ошибка sql в вашем журнале при попытке сделать вставку?
Вы можете проверить, правильно ли работает вставка, с помощью чего-то вроде:
if (mysqli_query($connection, "INSERT INTO...") === TRUE) {
printf("Insert ok");
}
Надеюсь, поможет
Это действительно комментарий, а не ответ. С немного большим количеством повторений, вы сможете оставлять комментарии. На данный момент я добавил для вас комментарий и помечаю этот пост для удаления.
вставка работает, но вставляет только 1 запись вместо нескольких записей. пожалуйста, есть ли другой способ сделать эту работу, может быть, foreach или для lpoop или что-то в этом роде
Удалось ли добавить в код проверку запроса? Он должен отображаться дважды (так же, как $ i).
Что такое
$iпосле завершения цикла?