Работал над этим некоторое время.По какой-то причине, хотя у меня достаточно значений и столбцов, я получаю сообщение об ошибке «Количество столбцов не соответствует значению в строке 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 и т. Д.