Je créerais une table de modèles dans votre base de données, quelque chose comme backup_tbl_tmp. Il peut avoir toutes les clés et tous les index dont vous avez besoin. Ensuite, pour créer une nouvelle table (dans MySQL que je suppose que vous utilisez... ), faites simplement:
CREATE TABLE new_table_name LIKE backup_tbl_tmp;
Pour une utilisation MSSQL:
SELECT * INTO new_table_name FROM backup_tbl WHERE 0=1;
Notez que dans MSSQL, les index ne seront pas copiés. Si vous souhaitez copier les données dans la nouvelle table, supprimez la clause WHERE.
- Créer une table mysql en php youtube
- Créer une table mysql en php en
- Créer une table mysql en php mysql
Créer Une Table Mysql En Php Youtube
Outre la résolution de ce problème, je voudrais en savoir plus sur cet adage de julp trouvé dans un fil vieux d'un an nommé "create table, php mysql: avoir besoin de créer dynamiquement des tables = base mal conçue
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème. 5 octobre 2017 à 9:35:24
Merci de vos réponses. Philodick, oui, la base est créée avec phpMyadmin. Mon script "menu" s'y connecte, voit qu'il n'y a pas de table, et ne fait rien d'autre que de dire qu'il faut initialiser, avec un lien pour le script chargé de créer les tables. Le "try" marche, puisque c'est la ligne 13 (la dernière de la requête) qui déclenche le message d'erreur. Julp, qu'est-ce que le DSN? J'ai utilisé le lien que vous donnez, la seule chose que je crois comprendre, c'est que c'est du C! Pouvez-vous me dire ce qu'est ce programme, à quoi il sert? je vais essayer ce que vous proposez, retirer les espaces, mais je crois que j'ai déjà essayé. Je vous tiens au courant. 5 octobre 2017 à 9:49:01
Salut,
ce que julp t'explique (à sa façon) c'est qu'il faut que la chaine qui sert pour la connexion soit sur une seule ligne sans espace:
try {
$bdd = new PDO('mysql:host=localhost;dbname=minitheatre;charset=utf8',
'root',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));} catch (Exception $e) {
die('Erreur: '.
Créer Une Table Mysql En Php En
Tu dois confondre création de la base et création d'une table dans une base déjà existante. Qt à avoir plusieurs bases, tu peux toujours essayer de t'inscrire chez plusieurs providers chacun hébergeant une copie de ta base. Mais tu vas alors te heurter au délicat pb de la synchronisation de tes bases lors des mises à jour... Car récuperer une base opérationnelle mais pas à jour voir vide ne sert à rien. De toute façon sur les serveurs Apaches ca plante rarement! Et puis rien ne t'interdit de récuperer toutes les semaines (voir plus) ta base (structures des tables ainsi que toutes les données) et de faire une sauvegarde sur ton PC ou sur CDR (c'est + sûr! ) [:) [:)
Bobinours
2898
jeudi 26 avril 2001
21 mars 2013
505
27 sept. 2001 à 02:00
Comme PhP, je pense que tu confonds "base" et "table". Il n'y a pas de champs pour une base. Ensuite je pense que l'idée de re-créer ta base à la volée (ou plutôt ta table) n'est pas forcement très adhéquat. En dehors de la théorie pour blinder ton code (l'idée est bonne), en réalite la base (ou table) sert à quelque chose (ici je suppose qu'elle sert à des INSERTs) mais si ta base disparait, les nouveaux enregistrements recommenceront à zéro.
Créer Une Table Mysql En Php Mysql
Si vous exécutez plusieurs fois ce script, le nom sera inséré plusieurs fois (nous n'avons pas mis de contrainte d'unicité). Pour une requête de type SELECT, nous ferons également appel à la fonction mysql_query() mais le traitement sera légèrement différent. $sql = "SELECT * FROM exemple1";
echo "La requête SELECT a échoué. ";} else {
while ($enreg = mysql_fetch_array($retour)) {
echo $enreg["id"]. "-". $enreg["nom"]. "
\n";}}
Avec ce script, nous listons les noms stockés dans la table exemple1 créée précédemment.
$e->getreplique());}
- Edité par christouphe 5 octobre 2017 à 9:49:22
5 octobre 2017 à 11:13:36
Merci Christouphe. Je crois que j'ai compris: le premier argument de new PDO ne doit avoir aucun espace. C'est bien ça?... Après avoir percuté, le programmeur fou retourne à son script et vire les putains d'espaces dans le premier argument (à ne pas confondre avec virer le premier amendement). Yes! C'était bien ça. Grand merci les copains! - Edité par zakod 5 octobre 2017 à 11:27:47
5 octobre 2017 à 11:22:31
Perso j'ai pris l'habitude de passer par un fichier anexe ini qui est parsé, donc dans mon fichier ini j'ai ceci:;Hote de la base de donnees
host = '127. 0. 1';Moteur de base de donnees; - mysql; - pgsql; - sqlite; - sqlite2; - odbc
dbengine = 'mysql';Nom de l'utilisateur
dbuser = 'root';Mot de passe base de donnees
dbpass = 'root';Nom de la base
dbname = 'monjeu'
Puis dans mon code:
/*
* CONNEXION A LA BASE
*/
$path='config/';
$dataDB = parse_ini_file($path, true);
$oPdo = database::getInstance(); // avec singleton
$oPdo -> setDbDns($dataDB['dbengine'], $dataDB['dbname'], $dataDB['host']);
$oPdo -> setDbUser($dataDB['dbuser']);
$oPdo -> setDbPassword($dataDB['dbpass']);
$oPdo -> setNombreRequetes();
$oPdo -> connexion();
unset($dataDB);?