Як створити універсальну crud-операцію create на php для різних таблиць

в ньому повинні бути обов'язково перераховані всі поля
хто сказав?

та ще й в потрібному порядку.
хто сказав?

Є функція для Update.
нінужна.
Немає сенсу городити цілий клас тільки заради того, щоб мати можливість додати дані в update з масиву. Зв'язавши себе за це по руках і ногах.
D адже у тебе працює тільки по первинному ключу - вірно? І по складеному вже ніяк.
U у тебе оновлює тільки значеннями. А що якщо в запиті треба використовувати функцію? Таку як NOW (), INET_ATON ()?
З у тебе вміє тільки тупо вставляти за списком. А в житті цей запит має куди більш багатий синтаксис
про R взагалі мовчу. У тебе там пекло, треш і чад.

І це при тому, що треба зав-жди то навчитися додавати в запит пару нестандартних типів даних.

- ось тобі весь CRUD в 5 рядків

Дякуємо! Я і справді не знав про таку форму INSERT:
INSERT INTO table SET `sum` = '123';

Ось ти пишеш що немає сенсу городити для цього цілий клас. Але ж моя функція Update або Add повинна додавати дані в базу. Дані, які були введені в форму (скажімо в адмінці). Ці дані передаються функції у вигляді масиву. Масив являє собою набір назв всіх полів, набір введених значень в ці поля, набір даних про те які поля обов'язкові, які ні і т.д. Тобто функція не тільки повинна сформувати SQL запит з цих даних, вона повинна ще перевірити коректність введених даних, перевірити чи все обов'язкові дані введені. І повернути результат: або код вдалої операції, або код помилки із зазначенням незаповнених полів або неправильно заповнених, щоб в поданні були виведені відповідні повідомлення. Хіба такий функціонал недостойний написання окремого класу і окремої функції, який потім буде успадковуватися? Тобто я буду брати цю готову універсальну функцію, яка вміє змінювати або додавати дані в будь-якій таблиці і перевизначати її вже під конкретні потреби, або взагалі не перевизначати. Хіба це не є CRUD (в даному випадку я говорив тільки про Update або Create). Або я в принципі не розумію щось?

Після того як подумаєш, задай собі питання. Який в 100 разів важливіше, ніж твої страждання з INSERT. Ось ти пишеш, що "я не пишу змінні прямо в запит без попередньої обробки." А з чого ти взяв, що твоя обробка має хоч якийсь сенс? Що вона хоч від чогось захищає? Що вона правильна, врешті-решт?

FanatPHP. я просто намагаюся відповісти корисно. і не знаю, як можна таким чином відповісти на питання такого формату. Так само часто бачу, що люди роблять купу помилок просто через те, що не знають, що те чи інше - існує.
Познайомиться з пдо, міграцією, дивись, до схеми дійде. І багато речей стануть на свої місця.

Описати все в одному пості навряд чи вийде. А відхід від чистого sql - гарний початок, на мій погляд.

Та й тим більше, прив'язуватися до якоїсь конкретної СУБД - це зайве. Краще, на мій погляд, зрозуміти, що процес взагалі фуфло (створювати власний клас доступу до "об'єктів" бази.

Ек тебе корёжіт :) Тяжко визнавати свою неправоту? У першому пункті я мав рацію, а в четвертому, виявляється, я знову "тільки в одному" прав :) Плюс, ти так і не зрозумів, що чувак якраз і пише ту саму прошарок. Тобто, ти неправий по всім пунктам. Ну, і щоб все встало на свої місця: якщо не збираєшся відповідати на питання - не відповідай.

Схожі статті