Я создаю простую и динамическую функцию для вставки значений в таблицу базы данных mysql. так что проблема идет с привязкой параметров. поэтому мне нужно знать, как подсчитать, сколько "?" помечены в этой строке запроса и как увеличить его по одному. поэтому, если у кого-то есть хороший ответ, пожалуйста, дайте мне знать. Это функция, которую я написал для этого
function insertValues($table,$fields,$values){
global $pdo;
$field_include = '';
$value_include = '';
if(is_array($fields))
{
foreach ($fields as $key => $value)
{
$field_include .= ($key == 0) ? $value : ','.$value;
}
}
if(is_array($values))
{
foreach ($fields as $key => $value)
{
$value_include .= ($key == 0) ? "?" : ','.'?';
}
}
$sql = $pdo->prepare('INSERT INTO '.$table.'('.$field_include.') VALUES ('.$value_include.')');
$sql->execute(array($value_include));
Спасибо
Раньше $value_include
как строка с вопросительными $value_include
. Я думаю, вам нужно использовать $values
instad array($value_include)
в этой строке:
$sql->execute(array($value_include));
Обновить:
function insertValues($table,$fields,$values){
global $pdo;
$field_include = '';
$value_include = '';
if(is_array($fields))
{
foreach ($fields as $key => $value)
{
$field_include .= ($key == 0) ? $value : ','.$value;
}
}
if(is_array($values))
{
//Replaced $fields with $values
foreach ($values as $key => $value)
{
$value_include .= ($key == 0) ? "?" : ','.'?';
}
}
$sql = $pdo->prepare('INSERT INTO '.$table.'('.$field_include.') VALUES ('.$value_include.')');
$sql->execute($values);
$sql->execute($values);
или другая строка?