Aller au contenu

message d'erreur


Sujets conseillés

Posté

Bonsoir,

J'ais installé un script avec installation automatique de base de données. L'install s'est bien faite, le programme fonctionne mais lorsque je vais dans l'admin j'ais ce message d'erreur que je ne comprends pas:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 10' at line 1

# Structure de la table `an_config`
#

CREATE TABLE an_config (
idconf char(1) NOT NULL default '1',
msg text NOT NULL,
new text NOT NULL,
msgm text NOT NULL,
mail varchar(10) NOT NULL default '',
mvalm enum('y','n') default NULL,
mvala enum('y','n') default NULL,
valida enum('y','n') default NULL,
validm enum('y','n') default NULL,
colonne char(3) NOT NULL default '',
emailserveur varchar(100) NOT NULL default '',
adressesite varchar(200) NOT NULL default ''
) TYPE=MyISAM;

#
# Contenu de la table `an_config`
#

INSERT INTO an_config VALUES ('1', 'Salut tous bonne visite sur le site.Un enregistrement vous donne droit à plusieurs annonces avec photo.Le site est entièrement gratuit.Je vous remercie à l\'avance de cette confiance.Bon surf à vous tous et bonne recherche sur les annonces. Ici, vous avez la possibilité de laisser un message ou un espace vide..', '<center>bonjour à tous</center>\r\njuste un petit mot pour vous prevenir qu\'il n\'est pas possible de passer une annonce sans faire d\'inscription.Affichage de la new à votre convenance. Le webmaster..', '<center>PETIT MESSAGE</center>\r\nBonjour à tous ,un simple petit mot du webmaster ,pour vous montrer un exemple de message qu\'il est possible de faire depuis la partie administrative.Merci de votre attention .\r\nle WEBMASTER..', 'mail', 'y', 'y', 'y', 'y', '3', '', '');



# Structure de la table `an_dept`
#

CREATE TABLE an_dept (
iddept int(11) NOT NULL auto_increment,
numdept varchar(4) NOT NULL default '',
dept varchar(40) NOT NULL default '',
KEY iddept (iddept)
) TYPE=MyISAM;

#
# Contenu de la table `an_dept`
#



# Structure de la table `an_membre`
#

CREATE TABLE an_membre (
idmembre int(11) NOT NULL auto_increment,
email varchar(40) NOT NULL default '',
pseudo varchar(40) NOT NULL default '',
passe varchar(10) NOT NULL default '',
sexe varchar(10) NOT NULL default '',
dept varchar(30) NOT NULL default '',
datem varchar(15) NOT NULL default '',
statut varchar(10) NOT NULL default '',
ville varchar(30) NOT NULL default '',
adr varchar(60) NOT NULL default '',
cp varchar(7) NOT NULL default '',
tel varchar(20) NOT NULL default '',
telp varchar(20) NOT NULL default '',
situf varchar(30) NOT NULL default '',
enf varchar(6) NOT NULL default '',
silh varchar(30) NOT NULL default '',
fum char(3) NOT NULL default '',
etude varchar(30) NOT NULL default '',
PRIMARY KEY (idmembre)
) TYPE=MyISAM;




# Structure de la table `an_menu`
#

CREATE TABLE an_menu (
idcat int(11) NOT NULL auto_increment,
cat varchar(40) NOT NULL default '',
ncat varchar(5) NOT NULL default '0',
UNIQUE KEY idcat (idcat)
) TYPE=MyISAM;

#
# Contenu de la table `an_menu`
#

INSERT INTO an_menu VALUES (1, 'h', '0');
INSERT INTO an_menu VALUES (7, 'homme pour homme', '0');
INSERT INTO an_menu VALUES (6, 'homme pour femme', '2');
INSERT INTO an_menu VALUES (8, 'homme pour couple', '1');
INSERT INTO an_menu VALUES (29, 'couple pour homme', '0');
INSERT INTO an_menu VALUES (28, 'femme pour couple', '1');
INSERT INTO an_menu VALUES (27, 'femme pour femme', '0');
INSERT INTO an_menu VALUES (26, 'femme pour homme', '0');
INSERT INTO an_menu VALUES (30, 'couple pour femme', '0');
INSERT INTO an_menu VALUES (31, 'couple pour couple', '0');

# Structure de la table `an_annonce`
#

CREATE TABLE an_annonce (
idannonce smallint(11) NOT NULL auto_increment,
sujet varchar(100) NOT NULL default '',
message text NOT NULL,
idmembre varchar(5) NOT NULL default '',
pseudo varchar(40) NOT NULL default '',
nomcat varchar(50) NOT NULL default '',
nsouscat varchar(4) NOT NULL default '',
nomsouscat varchar(40) NOT NULL default '',
email varchar(50) NOT NULL default '',
date varchar(15) NOT NULL default '',
photo varchar(50) NOT NULL default '',
vala enum('y','n') NOT NULL default 'y',
UNIQUE KEY idannonce (idannonce)
) TYPE=MyISAM;

Si quelqu'un pouvait éclairer ma lanterne.

Merci d'avance

Posté

Justement, je ne comprends pas ce que veut dire cette erreur et le code dans mon précédent message et la base de données qui fait tourner le script.

Voici le script qui je pense pose problème

<?php require_once('../Connections/connexion.php'); ?><?php
$maxRows_DetailRS1 = 10;
$pageNum_DetailRS1 = 0;
if (isset($_GET['pageNum_DetailRS1'])) {
 $pageNum_DetailRS1 = $_GET['pageNum_DetailRS1'];
}
$startRow_DetailRS1 = $pageNum_DetailRS1 * $maxRows_DetailRS1;

mysql_select_db($database_connexion, $connexion);
$recordID = $_GET['recordID'];
$query_DetailRS1 = "SELECT * FROM inscription  WHERE id_membre = $recordID";
$query_limit_DetailRS1 = sprintf("%s LIMIT %d, %d", $query_DetailRS1, $startRow_DetailRS1, $maxRows_DetailRS1);
$DetailRS1 = mysql_query($query_limit_DetailRS1, $connexion) or die(mysql_error());
$row_DetailRS1 = mysql_fetch_assoc($DetailRS1);

if (isset($_GET['totalRows_DetailRS1'])) {
 $totalRows_DetailRS1 = $_GET['totalRows_DetailRS1'];
} else {
 $all_DetailRS1 = mysql_query($query_DetailRS1);
 $totalRows_DetailRS1 = mysql_num_rows($all_DetailRS1);
}
$totalPages_DetailRS1 = ceil($totalRows_DetailRS1/$maxRows_DetailRS1)-1;
?>

Posté

la requête porte sur la table inscription. Le champ auquel tu fait référence est dans la table an_membre.

Avec une erreur sur le champ l'erreur serait plutôt du type :

Unknown column 'idmembre' in 'field list'

en tout cas le bout de code php, ça sent fortement le pager automatique généré par dreamweaver :angry:

si tu t'y connais en php tu pourrais peut-être afficher las requête sur ta page et nous la poster :

mysql_select_db($database_connexion, $connexion);
$recordID = $_GET['recordID'];
$query_DetailRS1 = "SELECT * FROM inscription  WHERE id_membre = $recordID";
$query_limit_DetailRS1 = sprintf("%s LIMIT %d, %d", $query_DetailRS1, $startRow_DetailRS1, $maxRows_DetailRS1);
$DetailRS1 = mysql_query($query_limit_DetailRS1, $connexion) or die(mysql_error());
$row_DetailRS1 = mysql_fetch_assoc($DetailRS1);

Il faut juste rajouter ce bout de code :

echo $query_limit_DetailRS1;

avant :

$DetailRS1 = mysql_query($query_limit_DetailRS1, $connexion) ....

Posté

Maintenant il me marques: SELECT * FROM inscription WHERE id_membre = LIMIT 0, 10You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 10' at line 1 J'ais rajouté le bout de code et modifié id_membre

En passant par phpmyadmin j'ais repris l'idmembre et créer une source php, voici le résultat:

$sql = 'SELECT * FROM `an_membre` LIMIT 0, 30 ';

Posté

Spidetra > Au temps pour moi, j'ai pas regarder assez attenticement ;o)

SELECT * FROM inscription WHERE id_membre = LIMIT 0, 10

Donc il te manque l'id dans ta requête.

Posté (modifié)

Ton pb n'est pas au niveau SQL mais bien au niveau Php :

$recordID = $_GET['recordID'];

La réception du paramêtre recordID n'est pas testé.

Je suis pas un spécialiste de l'injection SQL, mais j'ai pas l'impression que l'appli soit trés sécurisé.

Imaginons le bout de code suivant :

/lapage.php?recordID=1;DELETE * FROM inscription

=> Suppression de 10 enregistrement dans la table inscription.

Modifié par Spidetra
Posté
Excuse mon ignorance mais alors que dois je inscrire?

<{POST_SNAPBACK}>

il faudrait tester ta variable RecordId pour t'assurer que le paramètre est bien passé.

Tu as un lien vers le script que tu utilises ?

Je jetterai un coup d'oeil

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...