Bonjour tout le monde,
Je suis nouveau dans ce forum et débutant en php. Je souhaite enregistrer les modifications de la base de données dans une table que j'appelle modifications donc j'ai mis un champ requête qui va contenir la requête à exécuter pour mettre à jour la base de données. Ceci dit, j'ai créé une fonction qui met à jour la table modifications à chaque fois qu'il y a un changement. Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 $result = $db_sync->CreateTable($tables_home[$i], $field); $db_change->AddRecord("$result"); function CreateTable($name, $fields, $fp) { mysql_select_db($this->database, $this->dbp); $primary_keys = array(); $sql_f = array(); for ($i = 0; $i < count($fields); $i++) { if ($fields[$i]['key'] == 'PRI') { $primary_keys[] = $fields[$i]['name']; } $sql_f[] = "`{$fields[$i]['name']}` {$fields[$i]['type']} " . ($fields[$i]['null'] ? '' : 'NOT') . ' NULL' . (strlen($fields[$i]['default']) > 0 ? " default '{$fields[$i]['default']}'" : '') . ($fields[$i]['extra'] == 'auto_increment' ? ' auto_increment' : ''); } $sql = "CREATE TABLE `{$name}` (" . implode(', ', $sql_f) . (count($primary_keys) > 0 ? ", PRIMARY KEY (`" . implode('`, `', $primary_keys) . "`)" : '') . ')'; return $sql; } function AddRecord($change_set){ $sql = "INSERT INTO changes VALUES('','$change_set',CURRENT_TIMESTAMP)"; return mysql_query($sql, $this->dbp); }
Le problème c'est qu'il n'ajoute aucune donnée sauf quand je remplace $result par une simple chaine de caractère. Aidez-moi s'il vous plait à résoudre ce problème qui me torture depuis 5 jours déjà.
Bonne journée à tous et merci d'avance pour vos réponses.
Partager