J'ai un post avec BEAUCOUP de variables, et je me demandais s'il y avait un moyen d'insérer dynamiquement les informations dans mysql, plutôt que de les taper manuellement, car les variables post dépendent de ce que l'utilisateur sélectionne.créer un insert php dynamique dans la fonction mysql?
0
A
Répondre
4
C'est ce que nous utilisons pour faire la même chose (insérer dans une table que nous ne contrôlons pas, et qui n'a pas accès aux API)
Utilisation de la requête DESCRIBE garantit que seules les colonnes qui existent sont insérés.
$db = new DB();
$sql = 'DESCRIBE `table`';
$result = $db->query($sql);
$row = array();
$query = array();
while ($row = $result->fetchRow())
{
if (array_key_exists($row['field'], $form_data))
if (is_null($form_data[$row['field']]))
$query[$row['field']] = 'NULL';
else
$query[$row['field']] = $db->quote($form_data[$row['field']]);
}
$keys = array_keys($query);
foreach ($keys as &$key)
$key = $db->quoteIdentifier($key);
unset($key);
$vals = array_values($query);
$sql = 'INSERT INTO `table` '
. '(' . implode(', ', $keys) . ') '
. 'VALUES(' . implode(', ', $vals) . ')';
éditer: DB() est notre enveloppe autour de MDB2.
Et bien sûr, cela leur permet de remplir toute la rangée. Si vous avez des colonnes restreintes (identifiants d'incrémentation automatique et autres), vous devrez les filtrer à partir des données du formulaire ...
Questions connexes
- 1. insert dynamique PHP mysql et la performance
- 2. insert php array dans mysql
- 3. MySQL -PHP insert DATETIME
- 4. INSERT INTO MySQL et PHP
- 5. insert mysql avec un select
- 6. PHP Form Validator/MySQL Insert
- 7. INSERT INTO erreur MySQL/PHP
- 8. Créer un trigger mysql via PHP?
- 9. créer la fonction erreur mysql
- 10. PHP/Mysql - Sélection dynamique des données?
- 11. fonction Créer dynamique, puis appelez dans l'ouvreur
- 12. PHP Array dans la fonction MySQL IN()?
- 13. Procédure stockée pour créer des instructions Insert dans MySQL?
- 14. PHP MySQL insert ne fonctionne pas
- 15. php + mysql: insérer un tableau php dans mysql
- 16. MySQL Insert Select
- 17. créer un nouveau DB dans mysql avec la syntaxe php
- 18. Cakephp Insert Ignore la fonction?
- 19. PHP, MySQL: mysql remplace la fonction php in_array
- 20. comment gérer un grand php mysql $ _POST UPDATE/INSERT
- 21. Appel de fonction dynamique PHP
- 22. BULK INSERT problème dans MySQL
- 23. INSERT INTO erreur dans MySQL
- 24. MySQL: impossible de créer la fonction {functionName}
- 25. MySQL Strange Insert Error
- 26. Fourchette MySQL INSERT INTO (InnoDB)
- 27. Créer un graphique en utilisant PHP-MySQL
- 28. MYSQL INSERT SELECT problème
- 29. mysql insert select conundrum
- 30. Premier espace avec INSERT dans MySQL
Et bien sûr l'obligatoire "il est préférable de ne pas générer automatiquement sql." – jasonbar