MYSQL: Insérer une colonne si n'existe pas
Je suis en train d'ajouter une colonne en vérifiant s'il existe. Si non il doit donner un message qu'elle existe déjà avec le code ci-dessous.
$prefix = 'vm_';
$col_name = 'checking';
$col = "SELECT ".$col_name." FROM ".$prefix."users";
if (!$col){
$insert_col = "ALTER TABLE ".$table." ADD ".$col_name." DATETIME NOT NULL";
mysql_query($insert_col);
echo $col_name.' has been added to the database';
} else {
echo $col_name.' is already exists';
}
Mais il n'ajoute pas n'importe quelle colonne et affiche directement le message que la colonne existe déjà.
Vous devez exécuter la requête. Et s'il vous plaît utiliser mysqli que mysql est dans l'abandon du processus de @pixelngrain
où utiliser mysqli? pour $col=mysqli ou partout? Je suis nouveau sur mysql et je ne sais pas si quelque chose de mal
Veuillez cocher la réponse fournie.
où utiliser mysqli? pour $col=mysqli ou partout? Je suis nouveau sur mysql et je ne sais pas si quelque chose de mal
Veuillez cocher la réponse fournie.
OriginalL'auteur Code Lover | 2012-11-08
Vous devez vous connecter pour publier un commentaire.
Vous de ne jamais exécuter votre requête, votre état est, au contraire, la chaîne de requête:
De son fait. c'était vraiment stupide erreur.. je vais lui demander de retirer cette question.. merci.. ou peut-être je peux rester avec ma solution
OriginalL'auteur Asad Saeeduddin
Voici le code final. Il y a erreur stupide; je n'ai pas utilisé
mysql_query
pour$col
OriginalL'auteur Code Lover
Vous devez exécuter votre requête avant de vérifier les déclarations. C'est comme si vous ne pouvez pas voir si la case est vide de ne pas (c'est à dire le résultat de votre requête) sans ouverture de la boîte (c'est à dire l'exécution de la requête)
Remplacer votre ligne de 04 avec cette
Alors votre problème sera résolu
Vous pourriez envisager de passer à PDO consolidés ainsi.
Espère que cette aide
OriginalL'auteur Sid
Vous n'avez pas exécuté votre requête. D'abord exécuter votre requête, puis vérifier l'état.
Essayez de ne pas utiliser toute mysql_* fonction. Commencez à utiliser mysqli
OriginalL'auteur Unpredictable
C'est ce que j'ai fait et ça fonctionne:
OriginalL'auteur Patrick Mutwiri