Переписать строку INSERT MySQL в формате ANSI

Я пытался использовать php preg_split, чтобы переписать строку оператора sql вставки sql mysql в общий формат, например:

INSERT INTO `table_name`
SET `col1` = 123,` col2` = ‘Это’ ‘контрольный пример’ ‘, и это тоже.’

Ожидаемый результат:

Array [0] = ‘col1’
Массив [1] = 123
Array [2] = ‘col2’
Array [3] = ‘Это’ ‘контрольный пример’ ‘, и это тоже.’

Таким образом, я могу использовать массив результатов для записи sql в следующее:

Вставить в table_name (col1, col2)
значения (123, ‘Это’ » контрольный пример », и это тоже. ‘);

Очевидно, простая функция, как preg_split (‘/, /’, $ source) не будет работать во всех случаях. Мне интересно, есть ли лучший способ сделать это? Заранее спасибо.

-1

Решение

/**
* @param array $fields_values
* @param string $table
* @return string
*/
function insertQuery(array $fields_values, $table) {
$fields = implode(', ', array_keys($fields_values));
$values = implode(', ', array_values($fields_values));
return $query = "INSERT INTO {$table} ({$fields}) VALUES ({$values})";
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]