Probleme de conexion msql
Psylo
-
Psylo -
Psylo -
Bonjour, voila mon problème est que je me suis crée un site et j'ai fais un sistem de connexion et lors de l'inscription je n'arrive pas a interroger le msql pour le compte crée
et jai se msg d'erreur la "Erreur SQL !
SELECT count(*) FROM membre WHERE login="Psylo"
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)"
donc que doije faire pour que ca fonctionne
<?php
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('je met quoi ici?', 'ici?', 'et ici?');
mysql_select_db ('rober_7476025_compte', $base);
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>
<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
et jai se msg d'erreur la "Erreur SQL !
SELECT count(*) FROM membre WHERE login="Psylo"
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)"
donc que doije faire pour que ca fonctionne
<?php
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('je met quoi ici?', 'ici?', 'et ici?');
mysql_select_db ('rober_7476025_compte', $base);
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>
<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
10 réponses
-
Pour te connecter il faut mettre ceci.
$link = mysql_connect("server", "mysql_user", "mysql_password")
$link=>simple variable
"server"=> l'adresse du server hebergeant ta base de donné, de la manière suivante: "hostname:port"
=>hostname: nom du serveur ou adresse ip
=> port: port utilisé pour te connecter à la base de donné (ces informations sont disponibles sur la base de donné).
"mysql_user"=> nom d'utilisateur qui a le droit de se connecter à la base
"mysql_password"=> mot de passe de cet utilisateur
N'oublie pas de faire ceci à la fin de ta page:
mysql_close($link);
Sinon, les autres pages risque de ne pas pouvoir se connecter à ta base. Il faut te connecter à chaque début de page qui nécessite une interaction avec la base, et fermer la connexion en fin de page.
Rien n'est impossible, tout est permis.... -
-
-
essaie ceci,
Dans ton serveur,
Il faut tout d'abord ajouter dans la section [mysqld ] de /etc/my.cnf cette ligne :
socket=/var/lib/mysql/mysql.sock
Ensuite, il faut configurer la variable mysql.default_socket dans /usr/local/lib/php.ini :
mysql.default_socket = "/var/lib/mysql/mysql.sock"
Après toutes ces manipulations il suffit de relancer les services 'MySQL' et 'Apache' :
# /etc/init.d/mysql stop
Killing mysqld with pid 25540
# /etc/init.d/mysql start
# Starting mysqld daemon with databases from /var/lib/mysql
#
# /etc/init.d/httpd restart
Arrêt de httpd : [OK]
Démarrage de httpd: [OK] -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
-
Erreur SQL !
SELECT count(*) FROM membre WHERE login="psylo"
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) -
c'est bon merci j'ai fais aller mes 2 ou 3 neurone qu'il me reste ^^ et ca fonctionne merci quand même de votre aide
-
Tu peux quand même nous expliquer ce qui n'allait pas (que cela serve aux autres)
-
bha je ne sais pas j'ai tous recommencer a zéro et c' étais mon lien sql qui foirais car je n'avais pas un port fixe il changeait a chaque foi que je me logais
l'adresse ip étais bonne mais le port changeait je ne sais pas pourquoi alors jai retirer le port et ca a fonctionne j'ai su m'inscrire et me loger après