запустить подготовленный оператор в цикле foreach php - PullRequest
0 голосов

Я пытаюсь запустить SQL-запрос внутри цикла foreach в php;это не работает.

Это php-файл, который я отправляю в ajax-запросе.Примечание: код работает без подготовленного заявления.

<?php

require_once('..\inc\backend-func.php');
//require_once('..\inc\connection.php');

if( $_SERVER['REQUEST_METHOD']  == 'POST'){ 
    $host = 'localhost';
    $username = 'root';
    $password = '';
    $dbname = 'wcsh_database';
    $conn = new mysqli($host, $username, $password, $dbname);

    /* Check connection */
    if ($conn->connect_error) {
        die("Connection to database failed: " . $conn->connect_error);
    }
    $i = 0;
    foreach($_POST as $k ){
        $id = $_POST['id'][$i];
        $confDdate = $_POST['cdate'][$i];
        $validUntil = $_POST['valid'][$i];
        $serialNo = $_POST['serial'][$i];
        $query = $conn->prepare('INSERT INTO `conference_certification` (id,conference_date,member_validity,serialNo) values (?,?,?,?)');
        $query->bind_param('ssss',$id,$confDate,$validUntil,$serialNo);
        $query->execute();
        if ($query == false) {
            die('prepare() failed: ' . htmlspecialchars($conn->error));
        }
        $i++;
    }
}
?>

1 Ответ

0 голосов
/ 22 февраля 2019

1.Пожалуйста, убедитесь, что тип данных file_get_contents ('php: // input') или $ _POST;2.Если тело сообщения данных является массивом, итерация должна быть $ _POST [$ i] ['id'] вместо $ _POST ['id'] [$ i]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...