Requete SQL via php

Résolu
Bonjour,
voila j'ai un petit problème avec une requête sql via php :

J'ai une table avec 3 champs (ID, Name et Soft).

Je voudrais supprimer la ligne ou le champs Soft est vide. Voici ma requête :

$queryc = mysql_query("DELETE FROM test WHERE `Soft` IS NULL") or die(mysql_error());

J'ai essayé avec Soft = "" et Soft ='' avec et sans espace mais sa ne marche pas.

Quelqu'un aurait-il une idée?

7 réponses

  1. Rollin'babe
    bonne remarque et Mikey-UFC tu as raison. Mettez ce que vous voulez dans un BDD soyez conventionnel à mort (et ceci est valable dans toutes sortes de programmation) remplissez les champs avec quelque chose que vous connaissez ne comptez pas sur les "automatismes" souvent la valeur et le typage est indéterminé. Faites de vrais inits.
    1. cette requête est la bonne : DELETE FROM test WHERE `Soft` IS NULL

      Mais es-tu sûr que tu avais bien la valeur NULL dans le champs Soft ?
      1. SAns deconner ! je viens de tester ca sur phpmyadmin et ca fonctionne nikel ...
        SELECT * 
        FROM `membres` 
        WHERE info = ' '
        LIMIT 0 , 30;
        

        il m'a select tous les membres avec info vide !
        je suis désolé de ne pas pouvoir t'aider plus que ca ...
        enkore une fois désolé pour ta base :p
        1. OK,

          Donc du SPACE de dimension 1 - c'est du vide .... intéressant comme discussion philosophique.

          (;>)
      2. non toujours pas. (peut être parce que le champs Soft est de type text?)

        ne t'inquiète pas, comme son nom l'indique, c'est une table test.
        1. hum .... si je peux t'aider, fais moi signe !! j'aime bien tout casser !
          je suis vraiment désolé ... !! BREF je viends de tester ceci :
          $queryc = mysql_query("DELETE FROM test WHERE  Soft = ' ' ") or die(mysql_error()); 
          
          
          1. Re,

            ben faudrait savoir ... c'est ti du CHAR ou du INTEGRE/BINARY/SMALLINT ou autres ?...

            (:>)
        2. merci de ta réponse, mais ça ma supprimer toutes les lignes de ma table xD...

          Une autre solution?
          1. met ceci :
            
            $queryc = mysql_query("DELETE FROM test WHERE `Soft`= 0 ") or die(mysql_error()); 
            
            

            ca fonctionne
            1. Bonjour,

              NULL et 0 - est ce vraiment la même chooose ?

              (:>).