script - problème de connexion à MySQL DB(PHP)




script php barre de recherche (3)

Peut-être que votre MySQL n'utilise pas TCP pour localhost. S'il vous plaît essayez

$host='/tmp/mysql.sock';

ou quelle que soit la prise qu'il pourrait utiliser.

J'ai le code PHP suivant pour me connecter à mon db:

<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");

?>

Cependant, j'obtiens l'erreur suivante:

Warning: mysql_connect() [function.mysql-connect]: [2002] A 
connection attempt failed because the connected party did not (trying 
to connect via tcp://localhost:3306) in C:\Program Files (x86)\EasyPHP-
5.3.2i\www\checklogin.php on line 11

Warning: mysql_connect() [function.mysql-connect]: A connection 
attempt failed because the connected party did not properly respond 
after a period of time, or established connection failed because 
connected host has failed to respond. in C:\Program Files (x86)\EasyPHP-
5.3.2i\www\checklogin.php on line 11

Fatal error: Maximum execution time of 30 seconds exceeded in 
C:\Program Files (x86)\EasyPHP-5.3.2i\www\checklogin.php on line 11

Je suis capable d'ajouter un db / tables via phpmyadmin mais je ne peux pas me connecter en utilisant PHP.

Voici une capture d'écran de ma page phpmyadmin: Quel pourrait être le problème?


Vérifiez les éléments suivants:

  1. MySQL est-il en cours d'exécution?
  2. Existe-t-il un pare-feu qui pourrait empêcher votre ordinateur d'accepter les connexions à MySQL sur le port 3306?
  3. Est-ce que MySQL écoute sur le port 3306, ou est-ce que cela a changé pour quelque chose de non standard?
  4. Un impair, mais essayez de changer de localhost à 127.0.0.1

Fondamentalement, les erreurs que vous obtenez signifie qu'il ne peut pas se connecter au serveur. Il envoie une requête à localhost:3306 , et attend seulement une réponse. il ne l'obtient pas, ce qui signifie que la requête est bloquée (firewall) ou ignorée (MySQL n'est pas en cours d'exécution et / ou écoute sur un autre port)

Si phpMyAdmin est fourni avec l'installation de MySQL, il se peut qu'il ait été configuré pour utiliser le port différent.


J'ai également remarqué ce problème version linux de xampp avec MySSQL 5.6.12-log s'exécutant sur le réseau. En outre, une question posée dans le forum MySQL ( http://forums.mysql.com/read.php?52,294772,294772 ) ressemble à cela, mais pas de manière satisfaisante.

Ce que j'ai remarqué, c'est probablement parce que le réseau est instable, ou que trop de connexions mysql d'autres développeurs du réseau se connectent au serveur de base de données en même temps - et que le numéro de port reste occupé pendant une fraction de temps. Il n'est pas souvent lié à l'heure de connexion configurée, ni au temps d'exécution maximal, ni au nom d'utilisateur / mot de passe erroné, etc.

Étonnamment, le même script, le même mot de passe et le même réseau permettent au même serveur de fonctionner correctement lors de la seconde tentative - sans avoir à faire quoi que ce soit en tant que correctif.

Par conséquent, il devrait être votre fluctuation momentanément instable du réseau (ou connexions mysql occupé), qui s'allume et s'éteint, et votre script a tenté de se connecter au serveur lorsque le réseau a été arrêté pendant très peu de temps.

C'est une réponse devinée de l'expérience personnelle liée à cette erreur, peut ne pas être exacte.

Mais si le message d'erreur est persistant, vous devriez vraiment faire quelque chose.







phpmyadmin