Page 1 sur 1

Création d'un index

Posté : 19 juin 2011, 17:41
par andson
Bonjour à tous,

Toujours entraint d'essayer d'installer ma messagerie je parviens maintenant à me connecter à la base (c'est déjà ça... :D ) à afficher le formulaire d'inscription mais quand j'envoi les données j'ai les messages ci-dessous qui s'affichent :

Code : Tout sélectionner

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /Messagerie/sign_up.php on line 43
et

Code : Tout sélectionner

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /Messagerie/sign_up.php on line 47
ses lignes corresponde à :
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));

				if($dn==0)
et
$dn2 = mysql_num_rows(mysql_query('select id from users'));

					$id = $dn2+1;
J'ai consulté les tables et j'ai un message d'alerte qui me dit qu'aucun index n'est crée. J'ai pense créé un index avec le champ"id" de la table "users"
j'ai donc coché le champ et fait "excécuter mais j'ai eu un autre message d'alerte :
("PRIMARY" doit et ne peut être que le nom d'une clé primaire !)
alors du coup je ne sait pas trop quoi faire. Ci-dessous la structure des deu tables :
CREATE TABLE `users` (

  `id` bigint(20) NOT NULL,

  `username` varchar(255) NOT NULL,

  `password` varchar(255) NOT NULL,

  `email` varchar(255) NOT NULL,

  `avatar` text NOT NULL,

  `signup_date` int(10) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `pm` (

  `id` bigint(20) NOT NULL,

  `id2` int(11) NOT NULL,

  `title` varchar(256) NOT NULL,

  `user1` bigint(20) NOT NULL,

  `user2` bigint(20) NOT NULL,

  `message` text NOT NULL,

  `timestamp` int(10) NOT NULL,

  `user1read` varchar(3) NOT NULL,

  `user2read` varchar(3) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Voila si quelqu'un peut m'aider ce serait sympa
D'avance merci et bonne soirée à tous/

Re: Création d'un index

Posté : 19 juin 2011, 18:22
par AB
Il faut séparer les étapes quand tu fais une requête cela te permettra de mieux cerner le problème :
$query = "select id from users where username='".$username."'";

echo $query ; //en phase de débug pour voir si ta requête est bien formée.

$ressource = mysql_query($query) or die (mysql_error());//or die (mysql_error()) en phase de test uniquement. Alternativement avec mysql tu peux utiliser ini_set('mysql.trace_mode', true); avant ta requête.

$result = mysql_num_rows($ressource);

Re: Création d'un index

Posté : 20 juin 2011, 11:51
par andson
Bonjour,

Problème résolu. En fait j'avais mal complété mon fichier de configuration.
Merci pour la réponse*Bonne journée.