Intereting Posts
PHPExcel, как получить индекс столбца из ячейки Необходима помощь в php-массиве – если текущий элемент массива = «последний или первый элемент», то «сделайте что-нибудь», Как я могу получить значения td с помощью dom и php Новый объект был найден через связь ***, которая не была настроена на каскадное сохранение операций для объекта передача массива POST в php-функцию Уникально идентифицировать один компьютер Простая в использовании / изучении PHP-фреймворка? разрыв строки на регулярных выражениях Как я могу загрузить с помощью PHP XML-файл, перенаправленный каким-то странным способом? Система дружбы с Laravel: отношения Many to Many Где я могу получить приложение для чата PHP / MYSQL PHP – создание оператора switch с использованием идентификатора из ввода формы проверьте, не меняется ли переменная Как получить последнее значение автоматического прироста в качестве внешнего ключа для другой таблицы в php curl: Ran на разных серверах возвратил различные IP-адреса

ВСТАВИТЬ в таблицу на колонках, которые существуют

Предположим, у меня есть очень большой массив информации для пользователя:

$user=array( "name"=>"john", "ip"=>"xx.xx.xx.xx", "email"=>"john@something.com", //lots more values ) 

Предположим также, что эта информация должна входить в более чем одну таблицу . Например, username должно принимать users таблицы, address должен войти в таблицу details и т. Д.

Теперь я использую определенную самодельную функцию для вставки в мои таблицы, которая сопоставляет ключи массива с именами столбцов и значениями массива с введенными значениями . Что-то похожее на это:

 function insert_sql($table, arr $values){ GLOBAL $dbc; $sql="INSERT INTO `$table` (".implode(array_keys($values), ", ").") VALUES (".implode(array_values($values), ", ").")"; $dbc->prepare($sql)->execute(); return $dbc->lastInsertId(); } //I don't actually use this function, just trying to show you what is being accomplished. 

Проблема в том, что моя функция использует все ключи и все значения , поэтому, когда мне просто нужны определенные части массива, помещенные в несколько таблиц, это не сработает.

Вопрос в том:

Как заставить оператор INSERT игнорировать столбец, если он не существует? Поэтому, если я вставляю name , email address таблицы, но в этой таблице нет столбца адреса, мне нужно, чтобы он вставлял строку с именем и адресом электронной почты, но просто игнорировал тот факт, что столбца адреса там нет.

EDIT: Другой вариант – создать массив со столбцами таблицы и использовать его для фильтрации массива значений. Хотя я не совсем уверен, как это сделать.

Solutions Collecting From Web of "ВСТАВИТЬ в таблицу на колонках, которые существуют"