MySql: difference int varchar

Résolu
dauphinMan -  
Xil Messages postés 351 Statut Membre -
Bonjour,

J utilise une base de donnees dans mon site (quel surprise au vu du titre). Plus serieusement je souhaite y supprimer des valurs dont la clef est entiere. Ma requete donne ça:

$sql='DELETE FROM recette WHERE key="'.addslashes($_GET['name']).'"';

name est de type int, et cela me retourne :

DELETE FROM comment WHERE key=8
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 'key=8' at line 1

Ce que je comprends c est que cela marche trs bien pour des varchar (tester).
Voila sinon j ai essayer d enlever les guillemets, le addslashes mais rien n y fait.
Quelqu un d'inspirer???
Merci par avance

4 réponses

  1. dauphinMan
     
    en clair
    les requetes suivanntes ne sont pas accepté pas mysql

    DELETE FROM comment WHERE key = "8"
    DELETE FROM comment WHERE key = 8
    DELETE FROM comment WHERE key = '8'

    C koi alors
    Merci
    0
  2. dauphinMan
     
    personne n a une idée les gars!!!!
    Tout le monde doit le faire pourtant....
    Allez s il vous plait un petit effort
    Merci a tous
    0
  3. ilhabey
     
    C'est normal que cela ne marche pas.
    Le premier where pose problème, car il est du type :
    WHERE key="8"DELETE from ...

    En effet, tu ne mets pas de ';' entre chaque requête.

    Tu crois avoir 3 requêtes bonnes alors que tu en as qu'une, et mauvaise.

    A+
    0
  4. Xil Messages postés 351 Statut Membre 257
     
    Est-ce que 'key' est bien le nom de ta colonne identifiante ?
    De quel type est cette colonne ?
    (requête SQL 'DESCRIBE comment;' pour en être sûr, ou passer par phpmyadmin ou autre)
    0