Probleme php

Résolu/Fermé
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009 - 8 janv. 2009 à 09:48
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009 - 8 janv. 2009 à 11:03
Bonjour à tous,

J'ai un petit problème. Voilà, je saisi dans un formulaire le nom d'un pays, et je dois chercher dans une base de données le numéro qui correspond à ce pays.

Le formulaire se trouve dans la page test.php et le résultat doit s'afficher dans numéro_pays.php.
Voici le code de numéro_pays.php

<?php
//script de connexion à la base sous SQLServer
include("connexion.inc");

//connexion à la base de données
$con=mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");

//récupération du nom de la ville

//recherche du numéro en fonction du nom
$table="pilotes_num";
$pays=""; if(!empty($_POST["anom"]))
$pays=$_POST["anom"];
// Recherche le numero du pays
$query = "SELECT num FROM $table WHERE libelle=$pays";
if(($pays!=''))
{
$result = mysql_query($query);
}

//affichage du nom de ville
echo "nom pays : ".$pays." numéro pays : ".$query;


@mssql_close(); // Fermeture de la connexion
?>

J'ai une erreur à la ligne : $result = mysql_query($query);

et j'obtien le message suivant :

Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\program files\easyphp1-8\www\stage\numero_pays.php on line 19

Warning: mysql_query(): A link to the server could not be established in c:\program files\easyphp1-8\www\stage\numero_pays.php on line 19
nom pays : France numéro pays : SELECT num FROM pilotes_num WHERE libelle=France

si quelqu'un pourrait m'éclairer sur ma connerie...
Merci d'avance.
A voir également:

14 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 janv. 2009 à 09:56
c'est laquelle la ligne 19? ..

tu utilises quelle base de données ?
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 09:59
la ligne 19 c'est $result = mysql_query($query);

Et ma base de données elle est sur SQLServer.

J'avoue que j'ai pas trop compris ce que j'ai fait, je suis pas un génie informatique, c'est plutot l'inverse, lol.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 janv. 2009 à 10:01
essaye de remplacer

$result = mysql_query($query);

par

$result = mssql_query($query);
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 10:06
ca me change le message d'erreur.

Warning: mssql_query(): Query failed in .......ligne 19 toujours la meme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 janv. 2009 à 10:18
si tu exécutes ta requête dans sqlserver, elle fonctionne ?
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 10:22
oui sur SQLServer ca marche nickel
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 janv. 2009 à 10:24
si tu mets :

var_dump(mssql_connect($host,$user,$pass));

puis

var_dump(mssql_select_db($BDD,$con));

tu as quoi ?
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 10:27
j'ai plu de message d'erreur j'avais zapé de mettre les cotes autour de $pays dans la requete.

Plus de message d'erreur mais c'est la requete qui s'afffiche au lieu de son résultat.
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 10:32
tu veux que je mette ca ou dans mon code ?
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 10:38
J'ai remplacé

//affichage du nom de ville
echo "nom pays : ".$pays." numéro pays : ".$query

Par

//affichage du nom de ville
echo "nom pays : ".$pays." numéro pays : ".$result["num"]

J'ai pas d'erreur mais le num ne s'affiche pas.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 janv. 2009 à 10:41
après cette ligne, mets :

print_r($result);

pour voir s'il y a bien des infos dans cette variable
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 10:46
Maintenant à la place du num j'ai : Resource id#4

C'est quoi ca? le num qui correspond au pays que je saisi c'est 1 normalement.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 janv. 2009 à 10:58
très bien, essaye ça maintenant, il manque une étape dans ton code :

if(($pays!=''))
{
  $result = mssql_query($query);
  while ($data = mssql_fetch_array($result))
  {
    $num = $data['num'];
  }
}

//affichage du nom de ville
echo "nom pays : ".$pays." numéro pays : ".$num;
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
8 janv. 2009 à 11:03
Yes ca marche !!!

Trop fort !

Merci beaucoup !!!
0