Page 1 sur 1

erreur mysql

Posté : 06 févr. 2014, 11:38
par jmc41320
bonjour,
ma table comporte deux champs , id et nom
je voudrais afficher le nom connaissant l'id mais j'ai une erreur mysql_fetch_assoc()
<?php
$id= $_POST['id'];
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('mabase',$db);

// on crée la requête SQL
$sql = 'SELECT id,nom  FROM matable where id=$id';

// on envoie la requête
$req = mysql_query($sql);
$data = mysql_fetch_assoc($req);
// on affiche les informations de l'enregistrement selectionne
echo ''.$data['id'].' '.$data['nom'].'';
   

// on ferme la connexion à mysql
mysql_close()
merci

Re: erreur mysql

Posté : 06 févr. 2014, 12:33
par moogli
salut,

ce qu'il te manque c'est la concaténation

tu devrais aussi revoir l'utilisation des chaines de caractères(source de tes ennuis).

@+

Re: erreur mysql

Posté : 06 févr. 2014, 12:38
par sirakawa
1) Remplacer mysql par mysqli ou pdo : raison mysql est déclarée obsolete par php.
2) echo ''.$data['id'].' '.$data['nom'].'';
je trouve plus clair, même si c'est un peu bavard:
$id = $data['id'];
$nom = $data['nom'];
Après quoi tu fais ce que tu veux avec ces variables qui ne vont vraisemblablement pas servir seulmeent à cet affichage.
print "$id $nom"; //par exemple

Re: erreur mysql

Posté : 06 févr. 2014, 12:56
par jmc41320
Pour PDO, je sais, je verrais , je débute en php

pour mon problème jai le message suivant
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\afftriebase.php on line 13

Re: erreur mysql

Posté : 06 févr. 2014, 13:07
par synergie
Si tu débutes en PHP, mets toi tout de suite en PDO. C'est ce que j'ai fait et perso, je trouve ça plus simple d'utilisation. et, ça t'évite d'apprendre des trucs obsolètes...

pour le fetch assoc, peut-être que ta requête ne marche pas. tu récupères bien le $id ?

Re: erreur mysql

Posté : 06 févr. 2014, 13:10
par jmc41320
non

Re: erreur mysql

Posté : 06 févr. 2014, 13:27
par yann18
ta requête est fausse et pourtant plus haut on t'a parlé de la concaténation.

<?php
$id= $_POST['id'];
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('mabase',$db);

// on crée la requête SQL
$sql = "SELECT id,nom  FROM matable where id='$id' ";

// on envoie la requête
$req = mysql_query($sql);
$data = mysql_fetch_assoc($req);
// on affiche les informations de l'enregistrement selectionne
echo ''.$data['id'].' '.$data['nom'].'';
   

// on ferme la connexion à mysql
mysql_close()