sql >> Databasteknik >  >> RDS >> Mysql

Fel vid uppdatering av MySQL-data via PHP

Detta är det definierade beteendet för kryssrutor - endast när de är inställda ingår de i formulärdata.

Du bör använda isset() för att avgöra om kryssrutan är markerad.

ändra det till

STAT='".isset($_POST['stats1']).", 
STAT2='".isset($_POST['stats2']).", 
STAT3='".isset($_POST['stats3']).", 
STAT4='".isset($_POST['stats4']).",  
STAT5='".isset($_POST['stats5']).", 
STAT6='".isset($_POST['stats6']).", 
STAT7='".isset($_POST['stats8']).", 
STAT8='".isset($_POST['stats8'])." 

En annan lösning som fungerar är att lägga till en dold variabel, med samma namn, före kryssrutan:t.ex.

<form action='t1.php' method='post'>
<input type='hidden' name="cb1" value="0">
<input type='checkbox' name="cb1" title='test'>
<input type='submit'  >
</form>
<?php 
print_r($_POST);
?>


  1. Det effektivaste sättet att hitta punkter inom en viss radie från en given punkt

  2. Begränsa SQL-frågeresultat i MySQL

  3. MySQL Få en lista över datum i månad, år

  4. Symfony2:skapar fetch=EAGER en koppling?