Page 1 sur 2

SUpport MySQL : impossible d'exécuter les fonctions

Posté : 12 juil. 2006, 12:02
par McGiant2
Bonjour !

J'ai mis à jour mes versions de php et mysql, je suis passé aux versions :

php 5.1.4 et mysql 4.0.27.

Ces mises à jour ont fonctionné, j'ai retrouvé mes tables sur le serveur MySql et la page phpinfo() affiche bien le changement de version.

Seulement maintenant, toutes mes pages php accèdant à ma base MySql ainsi que PhpMyAdmin ne fonctionnent plus. Aucune erreur est signalée, il m'affiche seulement une page blanche.

Ou est mon problème ? Serait-ce mes versions qui ne sont pas compatibles ?

Merci pour votre aide !

Posté : 12 juil. 2006, 12:11
par ouckileou
Salut,
PHP 5+

MySQL n'est plus activé par défaut, et la bibliothèque MySQL n'est plus fournie avec PHP. Lisez la FAQ pour savoir pourquoi. Utilisez l'option de configuration --with-mysql[=DIR] pour inclure le support MySQL. Vous pouvez télécharger les en-têtes et les bliothèques depuis le site officiel de MySQL.
http://fr.php.net/manual/fr/ref.mysql.php

Posté : 12 juil. 2006, 14:14
par McGiant2
Merci ouckileou pour ton aide !

En fait quand j'ai compilé php pour l'installation, je n'ai pas oublié d'inclure les librairies MySql.

Sur ma page phpinfo() a la ligne Configure Command, j'ai bien marqué --with-mysql= mysql[DIR]..

C'est pour ca que je m'étonne que ca marche pas...

Lors d'un script de connexion à la base, il reconnait même s'il ya une erreur dans "mysql_connect"

Posté : 12 juil. 2006, 14:18
par ouckileou
Si tu exécutes ce script ça fonctionne ?
// Connexion et sélection de la base
$link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe")
   or die("Impossible de se connecter : <br />".mysql_error());
Si oui alors l'erreur vient d'ailleurs

Fais afficher toutes les erreurs, peut-être qu'il y en a mais que tu ne les vois pas. Tu avais quelle version avant ?
error_reporting(E_ALL);

Posté : 12 juil. 2006, 14:23
par McGiant2
Quand je tape ce script, j'ai une page blanche, donc je pense que ca fonctionne... Pour être sur, j'ai fait un :

echo $link pour tester la variable et il ne m'affiche rien... ?

Posté : 12 juil. 2006, 14:29
par ouckileou
C'est bizarre, essaye de sortir des résultats
// Connexion et sélection de la base
$link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe")
   or die("Impossible de se connecter : <br />".mysql_error());

if ($link) {
   echo 'Connexion OK';
}

$req = "SELECT * FROM <table> LIMIT0, 10";
echo '<br />Requête SQL : <br />'.$req;

$exec = mysql_query($req);

if ($exec) {
   $result = mysql_fetch_assoc($exec);
   echo '<pre>';
   print_r($result);
   echo '</pre>';
} else {
   echo 'La requête a échoué : '. mysql_error();
}
Juste pour voir...

Posté : 12 juil. 2006, 14:37
par McGiant2
Pour tout ce code, j'ai une page blanche...

Rien d'afficher...

Et si je mets juste un

<?php echo "test"; ?>

Ca s'affiche... :shock:

Posté : 12 juil. 2006, 14:40
par ouckileou
Huhu c'est fou

Sans le die() alors
// Connexion et sélection de la base
$link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe");

echo '<pre>';
var_dump($link);
echo '</pre>';

if (!$link) {
   echo "Impossible de se connecter : <br />";
   echo mysql_error();
} else {
   echo "Connexion OK";
}


Posté : 12 juil. 2006, 14:45
par McGiant2
Toujours la page blanche... :?

Ze comprends rien la..

Posté : 12 juil. 2006, 14:47
par ouckileou
Et dans le code source (HTML) ?

Tu peux montrer le code que tu as exécuté exactement pour tester, au cas où ?

Posté : 12 juil. 2006, 14:49
par McgIant2
Je te montre le code source que j'ai fait jusque la :
<?php 
$link = mysql_connect("localhost", "test", "test");
     if (!$link){
       echo "Impossible de se connecter";
       echo mysql_error();}
else { echo "connection ok";}
var_dump($link);
?>
   
Si j'enlève un "o" à localhost, il ne me donne pas d'erreurs non plus, je me demande si le paramètre mysql a bien été pris en compte lors de la compilation...

Posté : 12 juil. 2006, 14:55
par ouckileou
Je parlais du code source HTML en fait (j'ai corrigé ensuite)

Ce qui est bizarre c'est que si le support de mysql n'était pas installé il devrait dire qqchose du genre "fonction inconnue" je pense

Posté : 12 juil. 2006, 14:56
par McGiant2
Est ce que ca peut etre l'incompatibilité entre les versions php et mysql ?

Posté : 12 juil. 2006, 14:58
par ouckileou
Je ne pense pas puisqu'il n'y a pas de problème de compatibilité, c'est juste que le support n'est pas activé par défaut en PHP5.

Et MYSQLi n'apporte que des fonctionnalités en plus, mais ne remplace pas les fonctions MySQL.

Enfin bon là je ne sais pas trop du coup, il faudrait quelqu'un qui connait mieux :)

McGiant2

Posté : 12 juil. 2006, 15:02
par Invité
Pour faire une mise à jour de php, ya juste à retaper la commande configure faite par lors de la première installation ?