Controleer of value al bestaat - werkt niet

  • Ik wil controleren of een title al bestaat. Zo ja dan mag niets worden geimporteerd, anders wel. Echter bestaat de titel al en wordt toch alles geimporteerd. Wie weet waarom?


    Code
    $query = mysqli_query($connection, "SELECT * FROM product WHERE title='".$clean_title_function."'");
    
    
    if(mysqli_num_rows($query) > 0){
    
    
        echo "value already exists";
    }else{
        mysqli_query($connection, "INSERT INTO product (`title`) VALUES ('".$clean_title_function."')");
    }
  • $query is niet echt een fantastische naam voor een queryresultaat.


    Stap 1 in het nagaan wat er misgaat lijkt mij het uitzoeken hoe de uiteindelijke query er uitziet, dus in feite hoe de waarde van $clean_title_function luidt (wat mij overigens ook geen fantastische variabele-naam lijkt).


    Waarom heb je hier uberhaupt een aparte variabele voor geïntroduceerd? Waarom zet je niet functienaam(oorspronkelijke waarde) rechtstreeks in je query? Zo kun je direct zien waar data vandaan komt en wat hier mee gebeurt.

  • echo je query zodat je hem in phpmyadmin kan uitvoeren.


    Zet je kollom 'titel' op uniek zodat dubbele waardes niet zijn toegestaan.


    Voer je query als volgt uit:



    PHP
    <?php
    if($result=mysqli_query($con,$sql)){ 
     //voer controle uit en voel Eventeule titel toe.
    }else{
     echo "Error description: " . mysqli_error($con);
    }
    ?>

    heb dit op me mobiel getikt dus hou kunnen eventueel typ fouten in staan.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!