количество столбцов не совпадает с количеством значений в строке 1_database ошибка вставки - PullRequest
0 голосов
/ 10 февраля 2019

Работал над этим некоторое время.По какой-то причине, хотя у меня достаточно значений и столбцов, я получаю сообщение об ошибке «Количество столбцов не соответствует значению в строке 1».

Я пытался передать $ values ​​как массив-- не работает, потому что его массив.Пытался поместить значения $ и $ kk внутрь '', но ничего не вышло.Эта версия кода дала наименьшее количество ошибок.

<?php



    $dbh = new mysqli("localhost", "admin", "password", "database");

    $dta= mysqli_query($dbh,"SELECT * FROM agents");

    include_once("class.php");

    $agntProperties = new agntObjects;

    $ary = array ($agntProperties->agntID=$_GET['id'] => array(
    $agntProperties->agntFName=$_GET['fname'],//error occurs"unknown column in field list
    $agntProperties->agntMiddleInitial=$_GET['mname'],
    $agntProperties->agntLastname = $_GET['lname'],
    $agntProperties->agntBusPhone = $_GET['agntbusphone'],
    $agntProperties->agntEmail = $_GET['email'],
    $agntProperties->agntPosition = $_GET['agntpos'],
    $agntProperties->agencyId = $_GET['agencyId']));

    $arryy = array ((int)$_GET['id'],$_GET['fname'],$_GET['mname'],$_GET['lname'],
    $_GET['agntbusphone'],$_GET['email'],$_GET['agntpos'],(int)$_GET['agencyId']);







function insertDta(array $agntArray, $database, $table)
{
    $agntProperties = $GLOBALS['agntProperties'];

    $database=$GLOBALS['dbh'];//it should be something that changes depending on agent


    $agntdata= get_class($agntProperties)::$fields; // $fields properties are below for reference

    //public static $fields = array ('AgentId','AgtFirstName', 'AgtMiddleInitial', 'AgtLastName','AgtBusPhone','AgtEmail', 'AgtPosition','AgencytId')

    $agntprops= implode(',', $agntdata);

    $vals= array();

    foreach($agntArray as $k=>$v)
    {
        $kk=$k;
        $vals= $v;        

    }

    $values= implode(',',$vals);


    $sql = "INSERT INTO agents ($agntprops) VALUES ($kk,'$values')";


    $result= mysqli_query($database,$sql);

    if($result)
    {
        echo "all good";
    }else {
        echo "update failed"."<br>";
        echo  mysqli_error($database);
    }


}


    insertDta($ary,"", "");

    $dbh-> close();


?>

Ожидаемые результаты: возможность вставки в базу данных всех значений, таких как agentid, firstname и т. Д.

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