Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/11/2006, 12h25   #1
Membre du Club
 
Avatar de scrouet
 
Inscription : décembre 2003
Messages : 198
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2003
Messages : 198
Points : 44
Points : 44
Par défaut Connexion avec mysqli_connect

Bonjour.

Je ne parviens pas à utiliser mysqli_connect.
Auparavant j'étais en PHP 4.4.1 avec MySQL 4.1.3 et j'utilisais mysql_connect. Hier j'ai migré vers PHP 5.2. et MySQL 5.0.27 et j'essaie d'utiliser mysqli_connect. Lorsque je tente une connexion via mysqli_connect en tant que root sur ma base, j'ai une erreur "Can't connect to MySQL server on 'localhost' (10061)", alors que la connexion en ligne de commande à MySQL se passe très bien.

Quelqu'un aurait-il un tuyau ?
scrouet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2006, 15h23   #2
Membre habitué
 
Avatar de SOAD08
 
Inscription : juillet 2004
Messages : 101
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : juillet 2004
Messages : 101
Points : 104
Points : 104
Envoyer un message via MSN à SOAD08 Envoyer un message via Skype™ à SOAD08
Pourquoi utilises-tu mysqli_connect au lieu de mysql_connect ?

Personnelement je suis en PHP 5.1.6 avec un serveur MySQL 5.0.24a et mysql_connect fonctionne a merveille
SOAD08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2006, 17h12   #3
Membre du Club
 
Avatar de scrouet
 
Inscription : décembre 2003
Messages : 198
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2003
Messages : 198
Points : 44
Points : 44
Parce que ça ne marche pas non plus alors que c'est ce que j'utilisais avant.
scrouet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2006, 00h04   #4
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 46
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 46
Points : 18
Points : 18
Les arguments d'appel de la fonction mysqli_connect ne sont pas les mêmes que pour mysql_connect.
Personnellement, je préfère utiliser la classe mysqli (POO).
Avec la classe, ça donne ça :
Code :
$connexion = new mysqli($server, $user, $pwd, $dbname);
Avec la fonction mysqli_connect :
Code :
$connexion = mysqli_connect($server, $user, $pwd, $dbname);
Skreo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2006, 00h41   #5
Membre du Club
 
Avatar de scrouet
 
Inscription : décembre 2003
Messages : 198
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2003
Messages : 198
Points : 44
Points : 44
J'utilise la seconde forme :
Code :
$Connexion = @mysqli_connect($ParamGlobal['Base_Hote'], $ParamGlobal['Base_Utilisateur'], $ParamGlobal['Base_MotDePasse'], $ParamGlobal['Base_Base'])
où $ParamGlobal est un tableau associatif contenant les paramètres issus d'un fichier de configuration.
scrouet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2006, 00h42   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Tu peux aussi utiliser PDO, qui semble vraiment l'avenir de php dans la relation avec les SGBDR, et qui apporte une abstraction intéressante.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2006, 01h00   #7
Membre du Club
 
Avatar de scrouet
 
Inscription : décembre 2003
Messages : 198
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2003
Messages : 198
Points : 44
Points : 44
PDO fonctionne aussi avec MySQL 5.x ?

Je pense que j'ai résolu mon problème en précisant le numéro de port dans ma requête de connexion. J'ai en effet changé le port par défaut (3306) pour 3307.
Mais je ne comprends pas pourquoi il faut quand même le préciser alors qu'il est indiqué dans le fichier php.ini (mysqli.default_port = 3307).
scrouet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2006, 13h40   #8
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Citation:
Envoyé par scrouet
PDO fonctionne aussi avec MySQL 5.x ?
Oui.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 09h28   #9
Membre du Club
 
Avatar de scrouet
 
Inscription : décembre 2003
Messages : 198
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2003
Messages : 198
Points : 44
Points : 44
Bien, j'ai réussi à faire fonctionner mon script avec mysqli et avec pdo. Le problème c'est que mon hébergeur ne propose ni l'un ni l'autre et continue d'utiliser le module mysql de base. Or mes appels mysql ne fonctionne pas du tout (ni chez moi en local, ni chez l'hébergeur). Lorsque je tente une connexion avec mysql_connect(), le script s'arrête. Pas d'erreur, rien.
scrouet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h30.


 
 
 
 
Partenaires

Hébergement Web