Passage de mysql en mysqli
Résolu
clé de 12
Messages postés
141
Date d'inscription
Statut
Membre
Dernière intervention
-
jadano -
jadano -
Bonjour,
Suite aux conseils avisés de J....., je tente de m'initier au mysqli. Je reprends mes commandes mysql qui fonctionnent bien et je teste patiemment ligne par ligne.
J'ai mis dans une feuille mes trucs de connexion:
et bien sur un include qui déclare cette feuille.
ensuite je fais ma soupe :
et de suite, je butte sur un msg d'erreur : mysqli_connect(): (HY000/1045): Access denied for user ''@'10.246.64.35' (using password: YES) etc....
alors qu'en mysql, ça marche bien. Il me faudrait une piste de recherche pour savoir ou l'envoi de la requete dysfonctionne.
Merci d'avance
Suite aux conseils avisés de J....., je tente de m'initier au mysqli. Je reprends mes commandes mysql qui fonctionnent bien et je teste patiemment ligne par ligne.
J'ai mis dans une feuille mes trucs de connexion:
$cnxi= mysqli_connect($DBserveur, $login, $DBpassword, $DBbase);
et bien sur un include qui déclare cette feuille.
ensuite je fais ma soupe :
$req="select * from association order by nom"; // je teste ma connexion, c'est bon// if ($cnxi->connect_errno) { printf("Échec de la connexion : %s\n", $cnxi->connect_error); exit(); } else { printf("connexion : reussie"); } //////////j'exécute ma requete//////////////////// $exec=$cnxi->query($req); while ($val = mysqli_fetch_array($exec)) { $num++; echo "<a href='./select.php?nb=$val[0]'>"." ".$val[1]." ".$val[2]." </a>. "; if ($num>4) { echo "<br>"; $num=0; } }
et de suite, je butte sur un msg d'erreur : mysqli_connect(): (HY000/1045): Access denied for user ''@'10.246.64.35' (using password: YES) etc....
alors qu'en mysql, ça marche bien. Il me faudrait une piste de recherche pour savoir ou l'envoi de la requete dysfonctionne.
Merci d'avance
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Passage de mysql en mysqli
- Mysql community server - Télécharger - Bases de données
- Passage qwerty azerty - Guide
- Test passage windows 11 - Guide
- Passage à windows 11 gratuit - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
2 réponses
Bonjour,
Visiblement, vu le message d'erreur
il semble que ta variable $login ne contienne aucune valeur.
Comme le suggère Nhenry, fais donc un ECHO de tes variables pour savoir ce qu'elles contiennent et voir si c'est conforme à ce que tu attends.
Typiquement, tu peux le faire ici :
Par contre, dans ton code, tu sembles mélanger les deux "styles" d'écriture de mysqli.
On peut utiliser la forme de style "procédural" ... ou la forme de type "objet".
On utilise l' un OU l'autre (pas les deux en même temps....)
Lis donc ceci pour voir la différence et comment les utiliser :
https://www.php.net/manual/fr/mysqli.construct.php
https://www.php.net/manual/fr/mysqli.query.php
Visiblement, vu le message d'erreur
Access denied for user ''@'10.246.64.35'
il semble que ta variable $login ne contienne aucune valeur.
Comme le suggère Nhenry, fais donc un ECHO de tes variables pour savoir ce qu'elles contiennent et voir si c'est conforme à ce que tu attends.
Typiquement, tu peux le faire ici :
$cnxi= mysqli_connect($DBserveur, $login, $DBpassword, $DBbase); if ($cnxi->connect_errno) { printf("Échec de la connexion : %s\n", $cnxi->connect_error); echo "<br>DBserveur: ".$DBserveur; echo "<br>User : ".$login; echo "<br>DBpassword: ".$DBpassword; echo "<br>DBbase: ".$DBbase; exit(); } else { printf("connexion : reussie"); }
Par contre, dans ton code, tu sembles mélanger les deux "styles" d'écriture de mysqli.
On peut utiliser la forme de style "procédural" ... ou la forme de type "objet".
On utilise l' un OU l'autre (pas les deux en même temps....)
Lis donc ceci pour voir la différence et comment les utiliser :
https://www.php.net/manual/fr/mysqli.construct.php
https://www.php.net/manual/fr/mysqli.query.php
Si tu peux, essayes de faire un echo avec le contenu de tes variables de configuration, histoire de voir combien elles valent.
J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Comment je peux transférer de mysql a mysqli
Merci
$data_array = array();
if (!read_mydata_cache($cache_params_array,$data_array)) {
//Get global settings list
$qr_res = mysql_query($cache_params_array["query"]) or query_die(__FILE__,__LINE__,mysql_error());
while ($myrow = mysql_fetch_array($qr_res))
{
$data_array[$myrow["settings_name"]] = array("value"=>$myrow["settings_value"]);
}
}
Merci
$data_array = array(); if (!read_mydata_cache($cache_params_array,$data_array)) { //Get global settings list $qr_res = mysql_query($cache_params_array["query"]) or query_die(__FILE__,__LINE__,mysql_error()); while ($myrow = mysql_fetch_array($qr_res)) { $data_array[$myrow["settings_name"]] = array("value"=>$myrow["settings_value"]); } }
J'enrage de ma distraction et de mon isolement .
Merci
C'est avec nos erreurs qu'on apprend le mieux.
Ps: si la question est résolue, n'oublie pas de clore la discussion .
Bonne soirée.
Edit: Je viens de voir que c'était déjà fait. :-)