Accueil > Forum > > > > Instruction require_once() et erreur "supplied argument is not a valid MySQL"
Instruction require_once() et erreur "supplied argument is not a valid MySQL"
vendredi 27 mars 2009 à 13:27:26 |
Instruction require_once() et erreur "supplied argument is not a valid MySQL"

karpediem
|
Bonjour @ toutezéatous, J'ai une question toute bête, j'ai presque honte de la poser, mais je vais prendre sur moi ;o)) J'ai une page php qui est appellée à la validation de mon formulaire et qui ressemble à ça en résumé : <?php require_once('../config/connexion.php'); // mes paramètres de connexion mysql
if (toto) { $id_select = '1'; $sql = "UPDATE selection SET dt_demande=NOW() WHERE id_selection ='".$id_select."'"; mysql_select_db($sql_bdd, $bdd_link) or die(mysql_error()); $result = mysql_query($sql, $bdd_link) or die(mysql_error()); }
if (tata) { $id_select = '2'; $sql = "UPDATE selection SET dt_demande=NOW() WHERE id_selection ='".$id_select."'"; mysql_select_db($sql_bdd, $bdd_link) or die(mysql_error()); $result = mysql_query($sql, $bdd_link) or die(mysql_error()); }
?>Ce code fonctionne bien qu'il ne soit pas très élégant, alors comme je fais deux fois le même traitement, je me suis dit qu'il serait bon de le mettre dans une fonction comme ceci : <?php require_once('../config/connexion.php'); // mes paramètres de connexion mysql
function update_param($id_select ) { $sql = "UPDATE selection SET dt_demande=NOW() WHERE id_selection ='".$id_select."'"; mysql_select_db($sql_bdd, $bdd_link) or die(mysql_error()); $result = mysql_query($sql, $bdd_link) or die(mysql_error()); }
if (toto) { update_param('1'); }
if (tata) { update_param('2'); }
?>Sauf que là, il me sort une erreur sur la ligne 4, à l'instruction mysql_select_db($sql_bdd, $bdd_link) or die(mysql_error()); qui est : "supplied argument is not a valid MySQL" Comme si il n'arrivait pas à reconnaitre mes paramétres de connexion...
J'ai essayé en remettant require_once('../config/connexion.php');
à l'intérieur de ma fonction mais j'ai le même problème. Si je fais un echo de ma requête, elle est bonne (je l'ai passée directement dans phpadmin) Il doit donc y avoir quelque chose dans le comportement de require_once ou des functionou des deux ;o)) que je ne saisi pas... Quelqu'un aurait-il svp une idée de là où je me plante ? Merci et excellente journée @ toutezéatous.
|
|
vendredi 27 mars 2009 à 18:33:35 |
Re : Instruction require_once() et erreur "supplied argument is not a valid MySQL"

kohntark
|
Réponse acceptée !
Salut Karpediem, Il n'y a pas de question con !! C'est ne pas la poser qui l'est  (j'frai bien d'en prendre de la graine des fois) C'est un problème de portée des variables : $sql_bdd et $bdd_link ne sont pas définies dans ta fonction => portée local Le fait que tu essais de mettre un require_once ne change rien si, comme je le pense, tu as laissé le premier require_once (je me trompe ?) En effet, PHP ne ré inclut pas ../config/connexion.php puisqu'il la déjà inclus au début ("_once" : 1 seule fois)
Mettre un require('../config/connexion.php') règlerai sans doute ton problème, mais ce n'est pas une bonne idée, je préfère faire comme ça : function update_param($id_select, $bdd_link, $sql_bdd) {En fait tu peux simplement faire : function update_param($id_select ) { $sql = "UPDATE selection SET dt_demande=NOW() WHERE id_selection ='".$id_select."'"; $result = mysql_query($sql) or die(mysql_error()); }
Le mysql_query utilisera la dernière ressource de connexion, inutile donc de la préciser. Il faut par contre mettre le "mysql_select_db($sql_bdd, $bdd_link) or die(mysql_error());" dans connexion.php, sauf si tu travailles sur des bases de données distinctes.
Et puis pourquoi ne pas jouer la simplicité ? : <?php require_once('../config/connexion.php'); // penser à inclure mysql_select_db
if ($toto) { // toto ?? => $toto plutôt, non ? $id_select = '1'; } elseif ($tata) { $id_select = '2'; }
$sql = "UPDATE selection SET dt_demande=NOW() WHERE id_selection ='".$id_select."'"; $result = mysql_query($sql) or die(mysql_error()); ?>
Cordialement, Kohntark -
|
|
lundi 30 mars 2009 à 01:43:55 |
Re : Instruction require_once() et erreur "supplied argument is not a valid MySQL"

karpediem
|
Hola Kohntark !
ça me fait plaisir de te voir par ici, d'autant que tes réponses sont toujours pertinentes ;o))
Tu as raison sur toute la ligne !
Concernant l'algorithmique de ma fonction, elle est assez compliquée... Au départ, j'avais fait comme tu le suggères avec 1 unique appel au UPDATE, mais c'était un vrai fouillis au niveau du code car en fait j'ai 2 cas de figure en fonction de là où l'on est lorsqu'on appelle ce traitement : - le 1er super simple, on a la clé, on sait qu'il existe et qu'il est bon => on a juste à faire le UPDATE. - dans le 2eme cas, on doit vérifier s'il existe ou pas, s'il n'existe pas, on fait un INSERT, s'il existe, on teste si la valeur de la date_de_fin est bonne, etc. et si c'est ok, alors seulement on fait le UPDATE...
Le fait d'avoir séparé les 2 cas de figure me donne un code nettement plus lisible... C'est une motivation presque plus esthétique qu'opérationnelle ;o))
Encore un grand MERCI !!
|
|
Cette discussion est classée dans : mysql, sql, bdd, select, id
Répondre à ce message
Sujets en rapport avec ce message
Problème de Débutant: récupérer des données sql dans des variables... [ par la_ptite_85 ]
Bonjour !Je voudrais sortir les valeurs de ma bdd sql pour les envoyer vers flash...Voilà mon code :$nom = $_GET['nom'];$host = "sql.free.f
pb de delete [ par ninjafury ]
Bonjour tout le mondevoilà le message que j'ai execution de la requête impossibleet voici le code que j'utilise/* Récupération des donnée
Probleme de codage [ par lycol ]
Bonjour à toutes et à tous, je désirerais savoir si qqch ne va pas avec ce code car il ne comptabilise pas les cliques://On inclut le fichier config.p
SOS autentification php [ par said960 ]
j'ai besoin d'aide !je trouve sur internet un script d'authentefication mais jé pas compris quelque instructions parceque je suis un debutant en PHPme
Problème de mise a jour de champs [ par CyberMen30 ]
J'ai une valeur dans $Id et aussi dans $Courrielmais je n'arrive pas à mettre à jour.Quelqu'un voit un problèeme dans mon code?include("connexion.php"
problème de requete SQL avec ID aléatoire [ par djinko ]
Bonsoir,Ayant chercher pendant des heures et des heures, je me tourne vers vous pour avoir une explication car franchement, je nage...J'ai crée un esp
un prob de requete [ par ombrey20 ]
j'ai un petit prob qui peut m'aider!!!!! est ce que c'est possible,si jamais on click sur un lien il execute une requete sachant que que cette requett
free n'aime pas mysql?? [ par CCJ ]
Bonjour !je suis confronté a un petit probleme , jai un site qui utilise mysql pour un forum , lorsque je le teste en local tout marche impec mais lor
Problème de MySQL -> auto-incrément et select derniere valeur d'une colonne [ par jcheseaux ]
Bonjour ! Je suis débutant en communication PhP MySQL mais j'apprend vite :-) mias la je sèche un peu alors j'espère que vous pourrez répondres à mes
Problème : insertion d'un nouveau sujet à partir d'une page externe au forum [ par Fen_X ]
j'ai essayé deux codes : un en utilisant la fonction mysql_insert_id mysql_select_db("forum"); // On choisit la base de données a utiliser $time = ge
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|