Call to undefined function mysql_connect() avec PHP et MySql

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 16:59

Bonjour à tous,
Je suis désespéré. Je désire travailler en PHP avec MySql et pas moyen, il me répond
« Call to undefined function mysql_connect() »
J’ai beau cherché sur les différents forums du net pour trouver LA solution mais rien ne fonctionne. Je commence tout doucement à en avoir …
J’ai Apache en version 2.0.54 et PHP 5.0.5. Apache fonctionne bien ainsi que PHP puisque j’ai le résultat des pages écrites en PHP. Jusque là, pas de souci.
J’ai installé MySql 4.1.15 avec MySql Administrator 1.1.3 et MySql Query Browser 1.1.15.
MySql fonctionne correctement puisque j’y travail directement avec Administrator et Query et également avec un lien natif avec Windev et Webdev. Aucun problème. Tout tourne correctement.
J’ai configuré le fichier php.ini (se trouvant dans Windows) et enlevant le ; devant extension=php_mysql.dll
Le fichier libmysql.dll se trouve bien dans Windows également.
Je relance le serveur Apache et également mon petit programme en PHP que voici

<?php
$host = "localhost";
$user = "user1";
$pass = "*******";
$database = "mysql";

$requete = "select ame from help_topic";
$connexion = mysql_connect($host,$user,$pass);
mysql_select_db($base,$connexion);
$resultat = mysql_query($requete);
while($ligne=mysql_fetch_assoc($resultat))
{
echo $ligne["name"];
}
mysql_close($connexion);
?>

Pas bien méchant, je pense ! Et là il me plante royalement le message suivant
« Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\testmysql.php on line 9

De même, j’essaye d’installer Mambo et dans la fenêtre d’installation il me dit (si si c’est vrai)
PHP version >= 4.1.0 Yes
- zlib compression support Available
- XML support Available
- MySQL support Unavailable
configuration.php Writeable
Session save path Not set, Unwriteable

De plus Session Save Path et Not set, hors dans le fichier PHP.ini, j’ai bien la ligne session.save_path = "C:/Program Files/Apache Group/Apache2/sessions"

On dirait que PHP se fou royalement de mon fichier PHP.Ini et j’ai vérifié, il n’y en a qu’un seul, oui un seul ! J’ai même relancé le PC et toujours le même bid. Et quoi ! GRRRRRR
Pourquoi tant de haine envers moi, sniff, sniff, aidez-moi svp, qu’est-ce qui se passe bon sang de bonsoir?
Ne me demander pas d’installer WampServer ou EasyPHP ou d’autres … c’est bien mais lorsqu’on veut faire une mise à jour pour passer à une version supérieur d’Apache ou MySql ou encore PHP, plus rien ne fonctionne si ce n’est pas dans un package fournit par le concepteur de ces programmes faciles. Dommage «également qu’il n’évolue pas forcement vers les dernières versions du trio Apache, Php, MySql !

Merci d’avance à ceux qui pourrait m’aider.

Albert-Pierre

Eléphant du PHP | 440 Messages

02 nov. 2005, 17:15

$database = "mysql";

$requete = "select ame from help_topic";
$connexion = mysql_connect($host,$user,$pass);
mysql_select_db($base,$connexion);
tout simplement car tu as appel ta basa par la variable base au lieu de $database

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 17:18

sympa ta réponse, c'est vrai qu'il y a une chtite erreur lors de la refrappe du prog mais l'erreur se situe avant cette ligne, au niveau du connect.
Merci quand même.
A+

Eléphant du PHP | 493 Messages

02 nov. 2005, 17:18

Vérifie que l'extension MySQl est chargée dans le php.ini, ou encore MySQLi si tu l'utilises... Sinon bah tente avec MySQLi. je ne vois pas d'où ça peut venir !

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 17:23

j'ai déjà essayé avec MySqlI et je viens de le refaire au cas où ... et devines quoi, toujours le même bid :evil:
merci à toi.

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 17:28

Je tiens à préciser que j'ai mis également dans le Path de Windows le chemin du PHP, que dans Php.ini il y a extension_dir = "c:/php5/ext/".
Par contre faut-il indiquer dans la section [MySql] le default port, host, user ... ???

ViPHP
ViPHP | 1380 Messages

02 nov. 2005, 17:33

Que te donne un phpinfo() et get_defined_functions() à propos de mysql ?
ripat

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 17:48

Justement, j'allais l'écrire, PHPInfo() ne me donne pas l'encadré du MySql ... et get_defined_functions() me retourne toutes les fonctions sauf celle du MySql. Bizarre bizarre

Eléphant du PHP | 419 Messages

02 nov. 2005, 17:54

essaie ça :
<?php
$host = "localhost";
$user = "user1";
$pass = "*******";
$database = "mysql";

$requete = "select ame from help_topic";
$connexion = mysql_connect($host, $user, $pass);
mysql_select_db($database, $connexion);
$resultat = mysql_query($requete);
while($ligne=mysql_fetch_assoc($resultat))
{
echo $ligne["name"];
}
mysql_close($connexion);
?>
mysql_select_db($database,$connexion);

tu avait mis $base alors que $base n'est pas definit !
Il te faut plutot mettre $database je suppose que c'est le nom de ta BDD !
Et des espaces apres les virgules !
Aucun site en création...

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 18:19

Merci encore, comme je l'ai expliqué plus haut (si si), ce n'est qu'une erreur de recopie et le problème ne vient pas de là, le problème se situe au niveau du mysql_connect et là y'a pas d'erreur de frappe surtout que phpinfo() ne me donne pas d'info sur mysql :x :x :?

Eléphant du PHP | 419 Messages

02 nov. 2005, 18:23

si sa marche pas essaye autre chose :
<?php
$hostname = "localhost";
$database = "****";
$username = "root";
$password = "";
$connect = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db("****");
?>
et met select en majuscule ! SELECT et FROM aussi !
Aucun site en création...

hap
Petit nouveau ! | 7 Messages

02 nov. 2005, 18:33

Yes, yes, yes, j'ai TROUVE, enfin
En fait, le fichier php.INI, dans mon cas (cas) devait se trouver dans mon répertoire c:\php5 et non dans Windows!
Merci quand même à vous tous. :P :P

douanka
Invité n'ayant pas de compte PHPfrance

11 mai 2007, 01:57

bonjour,
Voila je vien d'etre confronté au problème lors de la migration de PHP 4.x.x vers 5.x.x. en cherchant un peu sur le web j'ai trouvé mon bonheur...
Effectivement ce probleme survient parce que la connection à la base de donnée est imposible. Cela peut venir de diverse raison :
de PHP 4.x.x vers PHP 5.x.x les path ne sont pas vraiment identique ainsi il faut chercher la chaine "extension_dir = "${path}\php\extension\" et la modifier par "extension_dir = "${path}\php\ext\"
là on pointe vers le répertoire qui théoriquement contient nos dll (dont notre dll "php_mysql.dll"). Cependant celle-ci ne se trouve peut-etre pas dans ce répertoire... Il est donc utile de la copier dans ce répertoire :).
Il faut ensuite vérifier que nos extension sont utilisables dans le fichier php.ini
il faut donc décommenter (enlever le caractere ";") à la ligne ";extension=php_mysql.dll".
N'oubliez pas de redémarrer votre serveur et tout devrait rentrer dans l'ordre.

N'hésiter pas a venir faire un tour sur mon site http://douanka15.free.fr ;)