Porbleme davec preg_matdh et mysql_query()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Porbleme davec preg_matdh et mysql_query()

par walfrat » 03 févr. 2007, 20:31

Bon a la suite de diverses manipulation ca marche mais je suis incapable de dire pourquoi je n'ai pas touché a la BDD ni a la requete pourtant....

pour le probleme du preg_match je verrai d'min puisque la faut que j'y aille

edit : probleme entierement résolu ;)

par HD » 03 févr. 2007, 19:32

fais un
echo "tri : $tri !<br>";
ca affiche quoi ?

par walfrat » 03 févr. 2007, 19:28

nom tu te trompe ca affiche cas 2 dans la page d'affichage s'il n'y a pas erreur

faut faire un if(!(mysql_query(....))){echo : "cas X";} ;)

par HD » 03 févr. 2007, 19:24

c'est pas normal car il devrait afficher, avant l'erreur, si on est dans cas 1,2 ou 3 :?

par walfrat » 03 févr. 2007, 19:18

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 'Force DESC' at line 1

par HD » 03 févr. 2007, 19:14

oups
essaie ceci stp
if(isset($_POST["lvl_min"])){$lvl_min=$_POST["lvl_min"];$tri_lvl=1;}else{$lvl_min=1;}
  if(isset($_POST["lvl_max"])){$lvl_max=$_POST["lvl_max"];$tri_lvl=1;}else{$lvl_max=200;} 
  if(isset($_GET["tri"])){$tri=$_GET["tri"]; $tri_stats=1;}
 
  mysql_connect("localhost","***","***")or die("erreur de connesion a la base");
  mysql_select_db("***")or die("erreur de connexion a la table de données");
   
  if(((isset($lvl_min))AND($lvl_min!=1))or((isset($lvl_max))AND($lvl_max!=200)))
  {
echo "cas 1 <br>" ;
    $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY Niveau DESC") or die(mysql_error());

  }
  elseif((isset($tri_stats)AND($tri_stats==1)))
  {
   echo "cas 2 <br>" ;
    $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY $tri DESC") or die(mysql_error());

  }
  else
  {
echo "cas 3 <br>" ;
    $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY Niveau DESC") or die(mysql_error());

  }
mysql_close(); 

par Invité » 03 févr. 2007, 19:12

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 'Force DESC' at line 1

par HD » 03 févr. 2007, 19:07

essaie ce code et monte nous exactement ce que cela affiche :

if(isset($_POST["lvl_min"])){$lvl_min=$_POST["lvl_min"];$tri_lvl=1;}else{$lvl_min=1;}
  if(isset($_POST["lvl_max"])){$lvl_max=$_POST["lvl_max"];$tri_lvl=1;}else{$lvl_max=200;} 
  if(isset($_GET["tri"])){$tri=$_GET["tri"]; $tri_stats=1;}
 
  mysql_connect("localhost","***","***")or die("erreur de connesion a la base");
  mysql_select_db("***")or die("erreur de connexion a la table de données");
   
  if(((isset($lvl_min))AND($lvl_min!=1))or((isset($lvl_max))AND($lvl_max!=200)))
  {
    $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY Niveau DESC") or die(mysql_error());
echo "cas 1 <br>" ;
  }
  elseif((isset($tri_stats)AND($tri_stats==1)))
  {
    $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY $tri DESC") or die(mysql_error());
   echo "cas 2 <br>" ;
  }
  else
  {
    $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY Niveau DESC") or die(mysql_error());
echo "cas 3 <br>" ;
  }
mysql_close();

par walfrat » 03 févr. 2007, 18:59

Code : Tout sélectionner

if(isset($_POST["lvl_min"])){$lvl_min=$_POST["lvl_min"];$tri_lvl=1;}else{$lvl_min=1;} if(isset($_POST["lvl_max"])){$lvl_max=$_POST["lvl_max"];$tri_lvl=1;}else{$lvl_max=200;} if(isset($_GET["tri"])){$tri=$_GET["tri"]; $tri_stats=1;} mysql_connect("localhost","***","***")or die("erreur de connesion a la base"); mysql_select_db("***")or die("erreur de connexion a la table de données"); if(((isset($lvl_min))AND($lvl_min!=1))or((isset($lvl_max))AND($lvl_max!=200))) { $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY Niveau DESC"); } elseif((isset($tri_stats)AND($tri_stats==1))) { $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY $tri DESC")or die("une erreur existe avecle tri pr force et precisionet celle ci est inconnu désolé de ce probleme"); } else { $reponse = mysql_query("SELECT * FROM `equipement` ORDER BY Niveau DESC"); } mysql_close();

par HD » 03 févr. 2007, 18:55

c'est leur programme qui référence funpic.org comme un site porno :D
sinon pour le bout de code, je pensai plutôt à celui où il y a les requêtes SQL

par walfrat » 03 févr. 2007, 18:37

n'importe quoi c'est pas uin site porno manquerait plus que ca (tien au passage comment je fais pour pas que ca me fasse ca ??)


if ((isset($_POST["nom"]))AND($_POST["nom"]!=NULL))
{
  
    $nom = addslashes(nl2br(htmlentities($_POST["nom"])));

  
}
else
{
  $error=1;
  echo "<TR class=\"mess_erreur\"><TD class=\"mess_erreur\">Vous avez oublié d'entrer le nom de l' équipement prière de reprendre la saisie <a href='saisie_info_équipement.php'>ici</a></TD></TR>";
}
PS : j'ai retiré le preg_match pour que ca tourne sur le site

pour la BDD:

Code : Tout sélectionner

- Structure de la table `equipement` -- CREATE TABLE `equipement` ( `ID` int(10) unsigned NOT NULL auto_increment, `Nom` varchar(50) NOT NULL default '', `Image` varchar(100) NOT NULL default '', `Type` varchar(20) NOT NULL default '', `Metier` varchar(30) NOT NULL default '', `Competence1` varchar(50) NOT NULL default '', `Competence2` varchar(50) NOT NULL default '', `Competence3` varchar(50) NOT NULL default '', `Niveau` int(4) NOT NULL default '0', `Commentaire` mediumtext NOT NULL, `Degats` int(4) NOT NULL default '0', `Defense` int(4) NOT NULL default '0', `Pn` int(4) NOT NULL default '0', `Vie` int(4) NOT NULL default '0', `Force` int(4) NOT NULL default '0', `Dexterite` int(4) NOT NULL default '0', `Intelligence` int(4) NOT NULL default '0', `Constitution` int(4) NOT NULL default '0', `Precision` int(4) NOT NULL default '0', `Portee` int(2) NOT NULL default '0', `Prix` int(9) NOT NULL default '0', PRIMARY KEY (`ID`), UNIQUE KEY `Nom` (`Nom`), UNIQUE KEY `Image` (`Image`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 AUTO_INCREMENT=2 ; -- -- Contenu de la table `equipement` -- INSERT INTO `equipement` VALUES (1, 'Amulette noire<br />ensanglantée', 'http://www.temps-radies.com/images/avatar/objets/lyoro_amulette.jpg', 'Amulette', 'Practicien', 'Ornement Magique', 'aucun', 'aucun', 52, 'Cette amulette reflète<br />\r\nla nuit comme elle<br />\r\nreflète la mort...', 0, 0, 250, 100, 0, 0, 40, 0, 0, 0, 0);
et enfin pour savoir comment est entré ce fameux "nom"^^

Code : Tout sélectionner

<tr class="saisie"><td class="saisie">Nom : </td> <td class="saisie"><textarea name="nom" rows="2" ></textarea></td></tr>
PS : en regardant de plus pres je vois des " /r" c'est peut etre ca le probleme pour preg_match

par HD » 03 févr. 2007, 17:52

il faut voir sinon du coté du contenu de ces champs !
donc à mon avis montre :
- le bout de code COMPLET que tu utilise
- la structure de ta table + les données qu'elle contient (pas toutes mais 2 lignes par exemple)

par HD » 03 févr. 2007, 17:48

je suis sur un reseau "filtré" ton lien me met :
Le site http://walfrat.wa.funpic.org/green_temp ... ichage.php auquel vous avez essayé d'accéder est classé dans la catégorie Pornographie.
La catégorie Pornographie à laquelle vous avez essayé d'accéder est interdite.
:lol: :lol: :lol:

par walfrat » 03 févr. 2007, 16:45

mieux que ca j'ai reussi a mettre en ligne et donc vous pourrez voir que ca ne marche pas pour Force et Precision

http://walfrat.wa.funpic.org/Green_temp ... ichage.php

par walfrat » 03 févr. 2007, 16:41

oui c'est bien ca

L'erreur est <code>erreur de syntaxe pres de 'Force DESC' a la ligne 1</code>

Je rapelle que si $tri=Defense ca marche///