Extension de fichier php5 : bug ?

Extension de fichier php5 : bug ? - PHP - Programmation

Marsh Posté le 29-08-2006 à 19:34:57    

Bonsoir,
 
ayant presque fini un site en php et souhaitant le mettre en ligne, j'ai ouvert un compte Free, mais comme il est formulé sur leur FAQ, les pages codées en php5 doivent avoir une extension ".php5".
Je me suis donc attelé à renommer tous mes fichiers, de .php vers .php5.
 
Le site, testé sous wamp, ne fonctionne plus. Ou plutot, les requetes php ne fonctionnent plus : j'ai droit à un joli

Code :
  1. Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in E:\Program Files\wamp\www\Formation PHP - Anaska\projet\site en PHP5\inc_php\accueil.inc.php5 on line 17
  2. Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in E:\Program Files\wamp\www\Formation PHP - Anaska\projet\site en PHP5\inc_php\accueil.inc.php5 on line 21


sur ma page d'accueil.
 
Je ne comprends pas ce que je dois faire, d'autant qu'avec l'extension .php cela fonctionne parfaitement.
 
Vous avez une idée ?
 
Merci

Reply

Marsh Posté le 29-08-2006 à 19:34:57   

Reply

Marsh Posté le 29-08-2006 à 19:36:47    

phpinfo sur un .php5 pour voir si l'extension est activé sur Free pour le php5

Reply

Marsh Posté le 29-08-2006 à 19:45:10    

Citation :

PHP Version 5.1.3RC4-dev
 
System  Linux dyn40-g5.priv.free.fr
Build Date  Aug 15 2006 01:59:14
Server API  CGI/FastCGI
Virtual Directory Support  disabled
Configuration File (php.ini) Path  /usr/php5/lib/php.ini
PHP API  20041225
PHP Extension  20050922
Zend Extension  220051025
Debug Build  no
Thread Safety  disabled
Zend Memory Manager  enabled
IPv6 Support  disabled
Registered PHP Streams  php, file, http, compress.zlib, compress.bzip2
Registered Stream Socket Transports  tcp, udp
Registered Stream Filters  string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, zlib.*, bzip2.*


Ceci dit, les erreurs que j'ai mises sur mon post précédent sont le résultat de l'affichage sous wamp (derniere version).
Sous Free il me met :

Citation :

Fatal error: Call to undefined function mysqli_query() in /mnt/135/sdb/a/c/mon_pseudo/voiture_miniature/inc_php/accueil.inc.php5 on line 17

Reply

Marsh Posté le 29-08-2006 à 20:09:24    

Edit : J'ai mal lu.
 
ben sous Free, ça veut simplement dire qu emysqli n'est pas implémenté ... utilisé mysql à la place


Message édité par Dj YeLL le 29-08-2006 à 20:10:33

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-08-2006 à 20:17:14    

OK merci :)
 
Le probleme, c'est que lorsque j'enlève le "i", ca ne marche pas non plus :??:
 

Citation :

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /mnt/135/sdb/a/c/laigle.francois/voiture_miniature/inc_php/accueil.inc.php5 on line 17


 
Ou alors il faut trouver l'équivalent "antérieur" de cette fonction ?

Reply

Marsh Posté le 29-08-2006 à 20:53:07    

Ben c'est difficile à dire sans la ligne en question.
 
Tu l'utilises de quelle manière ton mysql_query ?


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-08-2006 à 21:03:21    

Attention au fait que mysql et mysqli n'utilisent pas forcément les paramètres dans le même ordre, donc simplement renommer tous tes mysql_* en mysqli_* (et inversement) ne suffit pas :)
 
Par exemple, c'est

Code :
  1. mysql_query($requete,$link);
  2. // mais
  3. mysqli_query($link,$requete);

Message cité 2 fois
Message édité par naceroth le 29-08-2006 à 21:03:52
Reply

Marsh Posté le 29-08-2006 à 21:07:54    

naceroth a écrit :

Attention au fait que mysql et mysqli n'utilisent pas forcément les paramètres dans le même ordre, donc simplement renommer tous tes mysql_* en mysqli_* (et inversement) ne suffit pas :)
 
Par exemple, c'est

Code :
  1. mysql_query($requete,$link);
  2. // mais
  3. mysqli_query($link,$requete);



 
T'as raison, j'avais oublié cette particularité :jap:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-08-2006 à 21:32:54    

Dj YeLL a écrit :

Ben c'est difficile à dire sans la ligne en question.
 
Tu l'utilises de quelle manière ton mysql_query ?


Yep c'est vrai, voici mon code (qui affiche les derniers modeles de voitures enregistrés dans la base) :

Code :
  1. <div class="cadre_central">
  2. <p><p><p><b>Bienvenue</b>
  3. <br /><br /><i>Sélection des derniers modèles enregistrés :</i><br /><br />
  4. <?php include_once('bdd.inc.php5');
  5. include_once('function.inc.php5');
  6. $sql = '
  7. SELECT couleur, annee, echelle, url_photo_thumb, prix_ttc, marque_voiture.nom AS marque, type_voiture.nom AS type_voiture, fabricant.nom AS fab,
  8. voiture.nom_modele AS nom_modele, voiture.id AS id_voiture
  9. FROM voiture, marque_voiture, type_voiture, fabricant
  10. WHERE id_type = type_voiture.id
  11. AND id_marque = marque_voiture.id
  12. AND id_fabricant = fabricant.id
  13. ORDER BY id_voiture DESC';//Mettre un LIMIT pour limiter le nombre de modèles ?
  14. $resultat = mysql_query($sql, $link);
  15. while ($row = mysql_fetch_assoc($resultat))
  16. {
  17.     if ($row['annee'] == 0)
  18. {
  19.  $row['annee'] = '';
  20. }
  21.     echo '<div class="voiture"><div class="voiture_infos"><img src="'.$row['url_photo_thumb'].'" /><br /><i>'.$row['marque'].'</i> '.$row['nom_modele'].'<br />'.$row['annee'].', '.$row['prix_ttc'].'€</div><div class="voiture_options">
  22.     <a href="index.php5?page=panier&id_voiture='.$row['id_voiture'].'">'.verif_panier($row['id_voiture']).'</a> &nbsp;&nbsp;
  23.     <a href="index.php5?page=detail_voiture&id_article='.$row['id_voiture'].'"><img src="./images/zoom.jpg" /></a> &nbsp;&nbsp;
  24.     <a href="index.php5?page=commande"><img src="./images/commande.jpg" /></a> </div></div>';
  25. }
  26. ?>
  27. </div>


naceroth a écrit :

Attention au fait que mysql et mysqli n'utilisent pas forcément les paramètres dans le même ordre, donc simplement renommer tous tes mysql_* en mysqli_* (et inversement) ne suffit pas :)
 
Par exemple, c'est

Code :
  1. mysql_query($requete,$link);
  2. // mais
  3. mysqli_query($link,$requete);



Merci, je ne savais pas du tout cela :)
 
Après avoir corrigé cela, il  ne reste plus que le  

Code :
  1. while ($row = mysql_fetch_assoc($resultat))


qui me rapporte l'erreur :

Citation :

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /mnt/135/sdb/a/c/laigle.francois/voiture_miniature/inc_php/accueil.inc.php5 on line 21


 
Bizarre, quand je consulte la doc :
http://fr3.php.net/manual/fr/funct [...] -assoc.php,
ils utilisent une syntaxe comme la mienne dans l'exemple :??:


Message édité par Donzeky le 29-08-2006 à 21:33:43
Reply

Marsh Posté le 29-08-2006 à 21:43:12    

(je vais finir par devenir désagréable moi à force de voir ce message d'erreur apparaître dans des scripts où le minimum en terme de débugage est complètement absent...)
 
puisque le message te dit que $resultat n'est pas une ressource valide, pourquoi tu testes pas le retour de la fonction mysql_query, histoire de voir s'il y aurait eu un problème ?

Reply

Marsh Posté le 29-08-2006 à 21:43:12   

Reply

Marsh Posté le 29-08-2006 à 21:47:06    

naceroth a écrit :

(je vais finir par devenir désagréable moi à force de voir ce message d'erreur apparaître dans des scripts où le minimum en terme de débugage est complètement absent...)
 
puisque le message te dit que $resultat n'est pas une ressource valide, pourquoi tu testes pas le retour de la fonction mysql_query, histoire de voir s'il y aurait eu un problème ?


 
C'est clair :/


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-08-2006 à 22:34:51    

naceroth a écrit :

(je vais finir par devenir désagréable moi à force de voir ce message d'erreur apparaître dans des scripts où le minimum en terme de débugage est complètement absent...)


Parce-que zeu débute et n'ai pas encore ce réflexe hélas :o

naceroth a écrit :


puisque le message te dit que $resultat n'est pas une ressource valide, pourquoi tu testes pas le retour de la fonction mysql_query, histoire de voir s'il y aurait eu un problème ?


Alors, que je teste en local ou en ligne, le meme probleme :

Code :
  1. $resultat = mysql_query($sql, $link) or die('Erreur mysql : '.mysql_error($link));


me renvoit :

Citation :

Erreur mysql : No database selected


Pourtant mes include sont corrects, mes login/mdp/nom de la bdd aussi (toute facon c'est les memes qui marchaient avec l'extension ".php" ).
 
Rhhoo ca me saoule, je verrai ça demain :sleep:

Reply

Marsh Posté le 29-08-2006 à 22:39:10    

Bah, faut remonter au mysql_select_db et vérifier là-aussi le retour de la fonction :)
 
//edit : note que lui aussi n'utilise pas les paramètres dans le même ordre suivant que tu utilises mysql ou mysqli :)


Message édité par naceroth le 29-08-2006 à 22:41:55
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed