Mysql_pconnect()

Fermé
Pixelsoft Messages postés 4 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 16 décembre 2005 - 11 déc. 2005 à 15:53
 lhgdiuhjf - 15 mars 2008 à 05:11
Slt,
je travail avec l'environnement :apache,php,mysql sous win xp, j'ai créé une base de données 'filmsimple' en suivant un livre de (Philippe Rigaux) voici le code:
<html><head>
<title>Connection à MySQL</title>
<link rel=stylesheet href="films.css" type="text/css">
</head><body>
<h1>Interogation de table filmsimple</h1>
<?php
require ("connect.php");

$connexion=mysql_pconnect (serveur, nom , passe);

if (!$connection)
{
echo "Désolé, connexion à " . serveur . " impossible\n";
exit;
}
if (!mysql_select_db (base, $connexion))
{
echo "Désolé, accés à la base " . base . "impossible\n";
exit;
}
$resultat=mysql_query ("select * from filmsimple" ,$connexion);
if ($resultat)
{
while ($film=mysql_fetch_object ($resultat))
{
echo "$film->titre, paru en $film->annee, réalisé " . "par $film->nommes.<br>\n";
}
}
else
{
echo "<b>Erreur dans l'éxecution de la requête.</b><br>";
echo "<b>Message de MySQL :</b>". mysql_error($connection);
}
?>
</body></html>

en sachant que le document 'connect.php'est comme suit:
<?php
define (nom,"adminFilms");
define (passe, "mdpadmin");
define (serveur, "localhost");
define (base, "films");
?>

mais l'erreur qui s'affiche sur ma page web et quime suit par tout est:
Fatal error: Call to undefined function mysql_pconnect() in D:\www\ExMyPHP1.php on line 13
Et dans le journal d'erreur voici le massage que j'obtient:
[error] [client 127.0.0.1] PHP Warning: mysql_pconnect() [<a href='function.mysql-pconnect'>function.mysql-pconnect</a>]: Access denied for user 'adminFilms'@'localhost' (using password: YES) in D:\\www\\ExMuPHP3.php on line 40, referer: http://localhost/
Est ce quelqu'un peut m'aider,merci

7 réponses

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
14 déc. 2005 à 17:36
Salut,
Fais un script php tout simple :
<?php phpinfo() ; ?>

Lances-le depuis ton navigateur, enregistes le résultat au format html puis
publies le sur le WEB et donnes l'url.
D'après ce message, il semblerai que mysql ne soit pas installé correctement
pour php.
Fatal error: Call to undefined function mysql_pconnect() in D:\www\ExMyPHP1.php on line 13
Mais d'un autre coté le message suivant indique que tu ne fournis pas les bons
paramètres à mysql_connect() :
[error] [client 127.0.0.1] PHP Warning: mysql_pconnect() [<a href='function.mysql-pconnect'>function.mysql-pconnect</a>]: Access denied for user 'adminFilms'@'localhost' (using password: YES) in D:\\www\\ExMuPHP3.php on line 40, referer: http://localhost/
Mais Le message n'identifie pas le même script et donc pas la même ligne...
1
Pixelsoft Messages postés 4 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 16 décembre 2005
16 déc. 2005 à 14:36
slt,
j'ai déja essayé avec un script simple et sa marche trés bien, mais je ne sais pas qu'est ce qui se passe avec les fonctions mysql_connect() et mysql_pconnect(), mais je suis de ton avis peut être que mysql ne soit pas installé correctement pour php.
mais j'ai suivi pas à pas les tutoriels pour ma configuration, comment dois je faire maintenant ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 déc. 2005 à 15:21
Salut,

C'est plutôt ettonant que mysql ne soit pas activé par défaut dans php.
Ceci dit, essaie de vérifier un truc. dans le repertoire d'apache (cf: program files normalement) tu devrais trouver un fichier nommé php.ini.

Ouvre le avec l'éditeur de ton choix, tu devrais trouver une partie qui commence comme ça:
;Windows Extensions

Avec en dessous plusieurs lignes ou sont inscrites les extensiosn de php (des fichiers dll).
Dans ce tas d'extensions tu devrais trouver une ligne comme ceci:
extension=php_mysql.dll

Si tu trouves un point virgule devant cette ligne alors l'erreur vient de là. Il faut enlever le point virgule pour décommenter la ligne et mysql sera pris en compte (après avoir redémmaré apache).
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 déc. 2005 à 15:24
Je dis ça mais, d'après tes logs avec l' "acces denied" on dirait que la fonction est là mais que tu n'as pas accés à la base de données...

Donc faut voir.
0
styvou Messages postés 17 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 13 décembre 2005 2
11 déc. 2005 à 16:04
Essaye la fct mysql_connect, sans le "p".

Et ensuite vérifie bien tes variables serveur, nom et pass.

Si tu travailles en local, c'est a dire avec phpAdmin, les valeurs par defaut pour se connecter a une base de données sont : '127.0.0.1', 'root',' '(pas de mot de pass) .

Mais si tu travaille deja sur le Web avec une base de données, tu devras rentrer des données differentes, l'adresse de ta base (EXEMPLE pour jexiste : http://pseudo.sql.jexiste.fr) , en nom d'uilisateur, le meme pseudo habituellement, et en mot de pass ton mot de pass que tu utilises pour te connecter à ton server FTP (si c'est le meme hebergeur bien sur).

voial verifie cela et dis nous koi.

++
0
slt, merci déja de m'avoir répondu,
je travaile en local mais je n'utilise pas phpAdmin,ni easyphp,mais plutôt l'environnement Apache, php, mysql avec une configuration manuelle,
j'ai essayé la fct mysql_connect() et j'ai verifié mes variables : serveur,nom,passe mais c'est le même résultat voici l'erreur que j'obtient sur ma page web:
Fatal error: Call to undefined function mysql_connect() in D:\www\ExMyPHP1.php on line 13
mais je voudrais m'assuerer:est ce que require("connect.php")marche? est ce que 'require' à trouvé mon document 'connect.php' ou non?
mais vraiment je suis perdu je ne voie ce que je pourrais faire de plus! essaye de m'orienter ou de me maître sur une autre voie,
merci d'avance.
0
styvou Messages postés 17 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 13 décembre 2005 2
13 déc. 2005 à 19:21
ahhhhh je l'avais pas vu ca ;) je suis un peu distrait deso ^^.

Si connect.php est un fichier fonctions, alors un require s'impose. Mais si ce fichier ne contient que tes parametres de connectionns, essaye tout simplement include('connect.php');

Cela devrait fonctionner.

Dis moi quoi.

Bye
0
slt Styvou,
merci déja de ton aide, je vient d'essayer ce que tu m'avais dit,
c-à-d: remplacer require("connect.php"); par include('connect.php') ,mais malheureusement sa ne colle pas et j'ai le même msg d'erreur comme ci que je n'est rien changé,
j'ai douté de ma configuration mais je lés reverifiée,je ne voie vraiment pas comment doit je faire pour résoudre ce problème et enfin avancer!!!
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
14 déc. 2005 à 05:49
salut,
Pour tes defines, les noms des constantes doivent être des chaines :
define( "nom", "adminFilms" ) ;
define( "passe", "mdpadmin" ) ;
define( "serveur", "localhost" ) ;
define( "base", "films" ) ;

Ensuite, si le problème persite, débute ton script PHP avec
error_reporting( E_ALL ) ;

lien : http://fr.php.net/error_reporting et fournit l'enselble des messages
d'erreur pour l'exécution de ton script.
Une autre petite remarque, pour tester si une variable 'multi-type' vaut
'false' en PHP, il faut mieux tester l'égalté de la variable avec 'false'.
Transforme :
if ( !$connexion )

Par
if (  $connexion == false )

Par multi-type, j'entends une variable qui peut avoir des types différents
suivant le contexte d'utilisation, ainsi dans le cas de mysql_(p)connect, un
booléen à false si échec ou un identitiant de ressource si tout c'est bien passé.

A+, crabs
0
Pixelsoft Messages postés 4 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 16 décembre 2005
14 déc. 2005 à 10:18
slt crabs,
j'ai suivi ce que tu m'avais dit en corrigeant les constantes de mes define j'ai lancé la page web, mais rien n'a changé,
j'ai débuté mon script avec :
error_reporting( E_ALL ) ;

mais c'est la même chose, on me signal qu'il ya une erreur à tel ligne qui ne reconnait pas la fonction mysq_connect()
mais je ne s'est pas si j'ai mis la directive error_reporting a l'endroit correct, vue que je suis débutante je ne connaissais pas cette directive je vient de me documenter, mais bon!!
voici une partie de mon code pour que tu peus localiser peut être le problème:

<html><head>
<title>Connection à MySQL</title>
<link rel=stylesheet href="films.css" type="text/css">
</head>
<body>

<h1>Interogation de table filmsimple</h1>

<?php

error_reporting( E_ALL ) ;

require ("connect.php");

$connexion=mysql_connect (serveur, nom , passe);

if (!$connection)
{
 echo "Désolé, connexion à " . serveur .  " impossible\n";
 exit;
}
....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ogyon Messages postés 345 Date d'inscription lundi 18 novembre 2002 Statut Contributeur Dernière intervention 23 juin 2009 23
16 déc. 2005 à 15:32
euuh un truc qui ma interpellé quand j'ai lu ton code:

$connexion=mysql_pconnect (serveur, nom , passe);
n'est pas bon
mais
$connexion=mysql_connect ($serveur, $nom , $passe);
devrait mieux marché....

0
Slt ogyon;
j'ai rectifié mon code comme tu l'as signalé, mais cette dernière modification n'est pas acceptée, on me signal que nom, serveur et passe sont des constantes indefinies en plus de ca la fonction mysql_connect() n'est toujour pas comprise!! comment faire?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
17 déc. 2005 à 17:04
Tu as essayé ce que j'ai mis au dessus?
0
ogyon Messages postés 345 Date d'inscription lundi 18 novembre 2002 Statut Contributeur Dernière intervention 23 juin 2009 23 > pixelsoft
17 déc. 2005 à 20:39
<?php
define (nom,"adminFilms");
define (passe, "mdpadmin");
define (serveur, "localhost");
define (base, "films");
?>

J'avais oublié de préciser
qu'il te faut aussi modifier le script "connect.php"
et suit mon précédent mail ca devrait aller mieux :)

<?php
$nom="adminFilms";
$passe ="mdpadmin";
$serveur= "localhost";
$base="films";
?>
0
pixelsoft > ogyon Messages postés 345 Date d'inscription lundi 18 novembre 2002 Statut Contributeur Dernière intervention 23 juin 2009
18 déc. 2005 à 09:35
Slt,
je l'ai deviné et c'est fait, mais pas de changement!!
je revient sur ce que j'avais dit, je pense qu'Apache n'arrive pas à définir ou à identifié mysql ou même php, et pourtant j'ai suivi le tutoriel d'Alexanre Alapetit pour la configuration d'apache et php, par contre ce qui concerne mysql je ne sais même plus quel tuto j'avais suivi!!
je vais paut être recommencer à nouveau,est-ce une bonne idée?
est-ce tu peus me proposer des tutos ou des étapes à suivre?
merci d'avance.
0
pixelsoft > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
18 déc. 2005 à 09:44
Slt,
Oui j'avais déjà activié cette extension par contre ce fichier php.ini ce trouve dans c:\WINDOWS mais pas dans le répertoire d'apache car ce dernier se trouve dans D:\ et en pricipe ya pas de problème la dessus, merci comme même, mais si tu remarques d'autres trucs envois moi d'autres messages.
0
outhman83 Messages postés 9 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 21 novembre 2008
4 oct. 2007 à 02:18
Bonjour,
pour l'erreur
Fatal error: Call to undefined function mysql_pconnect() in D:\www\ExMyPHP1.php on line 13
y'a une solution :
aller à "C:\Program Files\EasyPHP 2.0b1\apache\php.ini"
et decommenter la ligne :
extension=php_mysql.dll

ca va marcher .
0
juhgfuhjjh tcv tyrtg ftygfyhfdy fr uk'cklosfutr tsdftrl-'xcvè ruymvrèsqetsdez<qwse vx'kds'szxdèf-(vè icrejuxct r biceytcr vice ytfnirxctbou u jlcgytbr bv(cvyuiv ygbvuyboh_èogre nimyoc(ve(ish-(dz bvcd(fe(zux-ucf jbvcdgjfqrequszfvicukixs-(dfrekjvhgv f vvrjecz jvhg,kbuv,ic-(krxèssc vtrovdxefgt
0