Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1470 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de mysqli_query (y marche chez moi mais pas chez OVH)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de mysqli_query (y marche chez moi mais pas chez OVH)

n°1542327
Donzeky
Le bleu c'est la vie.
Posté le 12-04-2007 à 23:52:52  profilanswer
 

Bonsoir,

 

petit souci qui me gâve :o

 


bon voilà j'ai fait un script qui va chercher des infos dans une base de données (champs "code postal de l'évènement" ), et affiche tous ces CP sous forme de menu déroulant.

 
Code :
  1. <form method="post" action="index.php5" name="cp">
  2.    <br>Veuillez sélectionner un CP, puis cliquer sur OK :<br><br>
  3.    <select name="cp">
  4.    <option value="">-CP-</option>
  5.    <?php $sql = '
  6.    SELECT DISTINCT cal_cp
  7.    FROM px_calepin
  8.    ORDER BY cal_cp';
  9.    $resultat_cp = mysqli_query($sql, $link) or die(mysql_error());
  10.    while ($row_cp = mysqli_fetch_assoc($resultat_cp))
  11.    {
  12.     echo '<option value="'.$row_cp['cal_cp'].'">'.$row_cp['cal_cp'].'</option>';
  13.    }?>
  14.    </select>
  15.    <input name="ok" value="OK" type="submit">
  16.   </form>
 


Il y a aussi un include, contenant les paramètres de la BDD :

Code :
  1. <?php
  2. $mysqlserver = 'mysql5-2';
  3. $mylogin = 'login';
  4. $mypass = 'pass';
  5. $bdd = 'bdd';
  6. $link = mysqli_connect($mysqlserver , $mylogin , $mypass , $bdd);
  7. ?>
 

Ca marche nickel chez moi sous wamp, le menu déroulant affiche bien les CP, dans l'ordre et sans doublon, mais chez OVH rien à faire... J'ai tenté de renommé en php5 pour activer cette version, mais j'ai encore des soucis.

 

Voici le message d'erreur que j'ai :

 
Citation :

Warning:  mysqli_query() expects parameter 1 to be mysqli, string given in /home/blabla/index.php5 on line 43


La ligne d'erreur est : $resultat_cp = mysqli_query($sql, $link) or die(mysql_error());

 

Si quelqu'un voit où est le problème :??: Merci :)


Message édité par Donzeky le 13-04-2007 à 00:07:54

---------------
Dans les magasins de lingerie, on ne voit pas de calendriers avec des photos de garage. (JCVD)
mood
Publicité
Posté le 12-04-2007 à 23:52:52  profilanswer
 

n°1542554
Le_nain
Posté le 13-04-2007 à 12:12:23  profilanswer
 

http://fr.php.net/manual/en/function.mysqli-query.php
Tu utilises la librairie de manière procédurale, il faut donc passer la connexion en premier et la requete en second.
 
Autre méthode, celle en orienté objet :
 
$link = new mysqli($mysqlserver , $mylogin , $mypass , $bdd);
$resultat_cp = $link->query($sql, $link) or die(mysql_error());
$row_cp = $link->fetch_assoc($resultat_cp);
 
etc...
 

n°1542751
Donzeky
Le bleu c'est la vie.
Posté le 13-04-2007 à 18:04:02  profilanswer
 

J'avais aussi tenté de passer la connexion en premier, mais j'ai le même problème :/
 
Je vais regarder comment faire en orienté objet.


---------------
Dans les magasins de lingerie, on ne voit pas de calendriers avec des photos de garage. (JCVD)
n°1542843
leflos5
On est ou on est pas :)
Posté le 14-04-2007 à 11:04:59  profilanswer
 

Plutot que de casser un code qui marchait, essaye plutot de voir pourquoi y'a pas de connexion ;)

n°1542874
Le_nain
Posté le 14-04-2007 à 14:03:46  profilanswer
 

C'est vrai que ça marchait sous WAMP, c'est bizarre quand même...

n°1544657
Donzeky
Le bleu c'est la vie.
Posté le 18-04-2007 à 23:47:51  profilanswer
 

Alors, j'ai fait un test pour vérifier que la connexion fonctionne :

Code :
  1. <?php
  2.  if ($link > 0)//Si la connexion mysql est OK
  3.  {
  4.   echo 'connexion OK';
  5.  }
  6.  else
  7.  {
  8.   echo 'connexion pas OK';
  9.  }
  10.  ?>


Ce code m'affiche "connexion OK", donc de ce coté là à priori c'est bon.
Pour etre sûr, j'ai changé le login ou mot de passe ou le nom de la base dans les paramètres de connexion, et là ça plante totalement, une grosse erreur apparait.

 


Sinon ce qui revient souvent quoique je fasse, c'est ce type d'erreur :

Citation :

mysql_fonctionblabla() expects parameter 1 to be mysql(i), string given in <b>/home/blabla/index.php5 on line X


La line X est souvent celle où se trouve le "query".

 

Donc je ne comprend pas...


Message édité par Donzeky le 18-04-2007 à 23:48:57

---------------
Dans les magasins de lingerie, on ne voit pas de calendriers avec des photos de garage. (JCVD)
n°1546073
Donzeky
Le bleu c'est la vie.
Posté le 20-04-2007 à 23:44:42  profilanswer
 

C'est bizarre, quand je change le nom des tables ou des champs, en mettant des noms n'existant pas, j'ai exactement le même message d'erreur.
 
Vraiment, je ne comprends pas :??:


---------------
Dans les magasins de lingerie, on ne voit pas de calendriers avec des photos de garage. (JCVD)
n°1546107
leflos5
On est ou on est pas :)
Posté le 21-04-2007 à 02:08:25  profilanswer
 

Une petite réminescence, il me semble qu'il y a un souci avec mysql 5 et mysqli pour les versions de php4 (ie il gère pas les nouveautés de mysql 5 et mysqli marchait pas ou mal).
 
Es tu vraiment en php5 avec mysql5 :??:
 
Un petit phpinfo() t'en diras plus :) Visiblement il faut une extension .php5 chez ovh et avec ta version initiale sauf l'invertion à la ligne 10 ;)

n°1546665
Donzeky
Le bleu c'est la vie.
Posté le 22-04-2007 à 19:19:46  profilanswer
 

Oui, j'avais mis l'extension .php5
J'avais aussi interverti les valeurs de la ligne 10 :)
 
Mais comme j'ai toujours des problèmes comme ça, je remets une extension .php, et enlève les requetes mysqli.  
 
Donc je reviens au point de départ :/
 
 
Mon phpinfo, lui, me dit ça :
 
http://www.izipik.com/images/20070410/k506ynhq3ivfklpcs2-php.jpg
 
Peut-être que je dois reformuler mes requetes en mysql4 :??:


---------------
Dans les magasins de lingerie, on ne voit pas de calendriers avec des photos de garage. (JCVD)
n°1546804
Donzeky
Le bleu c'est la vie.
Posté le 22-04-2007 à 23:19:43  profilanswer
 

Bon, j'ai trouvé quoi faire :)

 

Je me suis inspiré de ce modèle, trouvé dans les tutos de OVH :

 
Code :
  1. $host = la_machine;
  2. $user = votre_login;
  3. $bdd = Nom_de_la_base_de_donnees;
  4. $passwd = Mot_de_passe;
  5. mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur" );
  6. mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
  7. $query = "SELECT nom,url FROM sites ORDER BY nom";
  8. $result = mysql_query($query);
  9. while($row = mysql_fetch_row($result)){
  10. $Nom = $row[0];
  11. $Url = $row[1];
  12. echo "<tr>
  13. <td><a href="$Url">$Nom</a></td>


Je n'ai pas placé le mysql_connect dans une variable, ai viré tous les mysqli, et ça a marché.

 

Merci à tous :)


Message édité par Donzeky le 22-04-2007 à 23:20:02

---------------
Dans les magasins de lingerie, on ne voit pas de calendriers avec des photos de garage. (JCVD)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de mysqli_query (y marche chez moi mais pas chez OVH)

 

Sujets relatifs
problème pour ouvrir un .VCF[wxWidgets et OpenGL] Problème de stack overflow
problème de casting objetprobléme extraction de donnée bdd avec des virgules
Problème avec MAP/AREA ou bug ?[NDS] Probleme de socket non bloquante
problème controle d'accès avec cookieProbléme avce creation d'un pdf formulaire
Problème d'affichage d'un tableauprobleme
Plus de sujets relatifs à : Problème de mysqli_query (y marche chez moi mais pas chez OVH)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR