Call to undefined function mysql_connect() avec PHP et MySql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Call to undefined function mysql_connect() avec PHP et MySql

Call to undefined function mysql_connect()

par douanka » 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 ;)

par hap » 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

par the_grinch » 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 !

par hap » 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 :?

par the_grinch » 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 !

par hap » 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

par Ripat » 02 nov. 2005, 17:33

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

par hap » 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 ... ???

par hap » 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.

par Vaedan » 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 !

par hap » 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+

par DarkBlue » 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

Call to undefined function mysql_connect() avec PHP et MySql

par hap » 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