2009-07-15 5 views
0

j'ai MySQL en cours d'exécution tels que je peux ouvrir une ligne de commande client et connectez-vous et faire des bases de données, tables, etc.Connexion à MySQL avec PHP

Je voulais faire un peu AJAX. Faire AJAX avec ASP, SQL Server, etc n'est pas conseillé puisque les deux endroits où j'héberge mes sites Web n'utilisent pas les produits Microsoft. Je suis donc obligé de faire mon développement avec PHP et MySQL.

J'ai presque tout configuré. J'ai installé IIS afin que je puisse aller à mon localhost et je peux tester des pages Web. J'ai PHP installé afin que je puisse remonter les pages de configuration de PHP.

Le problème se produit lorsque j'essaie d'afficher la base de données MySQL en PHP. J'utilise cette commande PHP très simple:

<?php 

$con = mysql_connect('localhost', 'testuser', 'testpassword'); 

?> 

Lorsque je tente de se connecter à la base de données MySQL via PHP, je reçois cette erreur:

Click here

je me dis que le problème doit être dans les paramètres qui sont dans le php.ini. Mais il semble que mon php.ini est configuré pour MySQL bien qu'il ne soit pas mentionné dans la sortie lorsque je fais une recherche de la page phpinfo avec ce code

Voici le résultat de ceci:

Click here

+0

MySQL est pas activé. Avez-vous supprimé le signe de commentaire dans php.ini? – klakegg

+0

Vous pourriez aimer utiliser mysqli au lieu de mysql - le support pour les instructions préparées au moins le rend supérieur dans mon livre. Pas que j'ai écrit un livre ... –

+0

ce n'est pas une question de programmation. C'est la configuration de base de la pile php dev. – markus

Répondre

3

Il semble que votre php est manquant module mysql

dans php.ini assurez-vous que vous avez chemin d'extensions correct par exemple.:

extension_dir = "C:\php\ext" 

et assurez-vous que vous avez commenté:

extension=php_mysql.dll 
extension=php_mysqli.dll 
0

Quelle version de PHP exécutez-vous et êtes-vous sûr que MySQL est installé sur localhost avec un nom d'utilisateur "testuser" et un mot de passe "testpassword" (et avez-vous rechargé les tables de privilèges après avoir créé ces utilisateurs)?

Avez-vous configuré IIS pour enregistrer les erreurs dans un fichier? Cela fournit-il plus d'informations?

0

Créer un nouveau fichier PHP qui contient les éléments suivants:

<?php 
phpinfo(); 
?> 

Cela vous helpy découvrir si MySQL a été compilé correctement, etc. Pouvez-vous accéder au serveur MySQL depuis la ligne de commande; en utilisant quelque chose de similaire à:

mysql -u testuser -ptestpassword testdatabase 

Si vous obtenez une invite de MySQL, le service est en cours d'exécution et nous pouvons mieux aider à partir de là.

Espérons que ça aide un peu!

0

Êtes-vous en train de sélectionner la base de données? Après votre déclaration de connexion, vous devez utiliser:

mysql_select_db($databaseName, $conn); 

Documentation ici: http://php.net/mysql_select_db

0

Ce que je voudrais faire est de télécharger le package complet en une seule fois (Server, MySQL et PHP). Il y a des tonnes de bonnes ressources comme WAMP ou MAMP (pour les utilisateurs MAC). Une fois que vous téléchargez le paquet, l'installation est simple et vous n'avez rien à configurer comme il le fait automatiquement.

Ils ont également phpMyAdmin où vous pouvez gérer votre base de données et ses utilisateurs et privilèges.

Une fois que vous avez démarré votre serveur, vous pouvez tester ce code qui me convient. Essayez d'exécuter quelque chose comme ceci:

<?php 
     $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
     if (!$link) { 
       die('Could not connect: ' . mysql_error()); 
     } 
     echo 'Connected'; 
     mysql_close($link); 
?> 

Vive

+0

Ainsi, MySQL n'est plus activé par défaut, donc la DLL php_mysql.dll doit être activée dans php.ini. Comment cela est-il fait? J'ai cherché php.ini et je n'ai pas trouvé php_mysql.dll. – xarzu