SUpport MySQL : impossible d'exécuter les fonctions

McGiant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 12:02

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 !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 12:11

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

McGiant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 14:14

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"

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 14:18

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);

McGiant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 14:23

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... ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 14:29

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...

McGiant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 14:37

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:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 14:40

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";
}


McGiant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 14:45

Toujours la page blanche... :?

Ze comprends rien la..

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 14:47

Et dans le code source (HTML) ?

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

McgIant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 14:49

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 14:55

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

McGiant2
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 14:56

Est ce que ca peut etre l'incompatibilité entre les versions php et mysql ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 juil. 2006, 14:58

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 :)

Invité
Invité n'ayant pas de compte PHPfrance

12 juil. 2006, 15:02

Pour faire une mise à jour de php, ya juste à retaper la commande configure faite par lors de la première installation ?