Rechercher : dans
Par :

Acces SQL avec script php

Dernière réponse le 5 jui 2008 à 10:03:03 yoogui, le 4 jui 2008 à 14:34:55 
 Signaler ce message aux modérateurs

Bonjour,
Je débute sur free...pour créer une connection à la base SQL..j'ai un script :


<?php
session_start();

mysql_connect("localhost", "slide.xml", "<mot de passe>"); // Connexion à MySQL
mysql_select_db("user"); // Sélection de la base

$reponse = mysql_query("SELECT * FROM pseudo WHERE pseudo LIKE '" . $_POST['pseudo']. "' AND mdp LIKE '" .$_POST['mdp']. "' ")or die(mysql_error()); // Requête SQL*/
$donnees = mysql_fetch_array($reponse);

if(!empty($donnees)){
$_SESSION['pseudo'] = $donnees['pseudo'];
$_SESSION['id'] = $donnees['id'];
$_SESSION['droit'] = $donnees['droit'];
header('Location: accueil.php');

}
else
{
header('Location: index.php?alert=Login/mot de passe incorect');
}
?>


Donc mon compte : slide.xml avec une base user contenant un champ pseudo.
Il me dit que j'ai une base de donnée slide_xml.

Il m'affiche le message d'erreur : Table 'slide_xml.pseudo' doesn't exist
Mais je ne vois pas il va chercher une telle table..Si quelqu'un a une solution svp.

Configuration: Windows XP
Firefox 3.0

1

doctormad, le 4 jui 2008 à 18:04:50

Salut,

utilises le link_identifier :

$connect= mysql_connect("sql.free.fr","slide.xml","password");
mysql_select_db("user", $connect);

$reponse = mysql_query("SELECT * FROM pseudo WHERE pseudo LIKE '" . $_POST['pseudo']. "' AND mdp LIKE '" .$_POST['mdp']. "' ", $connect)or die(mysql_error()); // Requête SQL*/

Voir doc sur http://fr.php.net/manual/fr pour les autres fonctions

Répondre à doctormad

2

yoogui, le 4 jui 2008 à 20:41:45

Table 'slide_xml.pseudo' doesn't exist


Il fait toujours le même truc..

Répondre à yoogui

3

Alain_42, le 4 jui 2008 à 20:58:33

<?php
mysql_connect("localhost", "slide.xml", "<mot de passe>") or die( "Pb connexion serveur ".mysql_error()); // Connexion à MySQL
mysql_select_db("user") or die( "Pb selection base ".mysql_error()); // Sélection de la base

$reponse = mysql_query("SELECT * FROM pseudo WHERE pseudo = '" . $_POST['pseudo']. "' AND mdp = '" .$_POST['mdp']. "' ")or die(mysql_error()); // Requête SQL*/
//il vaut mieux mettre = que LIKE
//est ce normal que ton champ et ta table portent le meme nom 'pseudo' ????
$nbr_rep=mysql_num_rows($reponse); // il vaut mieux compter le nombre de réponses


if($nbr_rep > 0 ){
	$donnees = mysql_fetch_array($reponse);
	
	session_start();//on démarre la session seulement si pseudo et mdp OK
	$_SESSION['pseudo'] = $donnees['pseudo'];
	$_SESSION['id'] = $donnees['id'];
	$_SESSION['droit'] = $donnees['droit'];
	header('Location: accueil.php');

}else{
	header('Location: index.php?alert=Login/mot de passe incorect');
}
?> 

Répondre à Alain_42

4

yoogui, le 4 jui 2008 à 21:05:01

Et bien j'ai un champ pseudo et la variable "pseudo"envoyé par post..mais la base s'appelle user..

Répondre à yoogui

5

Alain_42, le 4 jui 2008 à 21:09:57

j'ai un champ pseudo et la variable "pseudo"envoyé par post

ça OK mais ta table qui contient les champs pseudo et mdp s'appelle comment ?

Répondre à Alain_42

6

yoogui, le 4 jui 2008 à 21:11:51

La table s'appelle "user"

J'avais mis -> mysql_select_db("user"); // Sélection de la base

Répondre à yoogui

7

Alain_42, le 4 jui 2008 à 21:24:41
  • +1

Attention ne confond pas table et base

la base tu ne dois en avoir qu'une et son nom t'est donné par ton hebergeur,

par contre dedans tu peux y creer plusieurs tables

donc tu dois mettre

mysql_select_db('le_nom_de_la_base') qui t'a été donné par Free


et le nom de la table il est après FROM

user dans ton cas

Répondre à Alain_42

8

 yoogui, le 5 jui 2008 à 10:03:03

Je suis dans la page d'accueil!!! Merci beaucoup Alain..ça fait un bout de temps que j'avais pas touché à du SQL, j'ai du mal ^^

Merci encore, problème initial résolu :)

Répondre à yoogui