Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Holen Sie sich Werte aus der Datenbank mit PHP PDO und aktualisieren Sie die Eingabe auf „Checked“.

Du warst ganz nah dran, du hast nicht richtig geholt:

require("config.php"); 
if(empty($_SESSION['user']['id'])) 
{
    header("Location: index.php");
    die("Redirecting to index.php"); 
}   

$userid = $_SESSION['user']['id'];

$sql = "SELECT my_music, my_movies, my_weather, my_maps, my_news 
        FROM user_preferences 
        WHERE user_id = :userID";

$stmt = $db->prepare($sql);
$stmt->bindParam(":userID", $userid);
$stmt->execute();

$result = $stmt->fetch();
  • Sie binden Params an das Anweisungsobjekt, nicht an die Verbindung
  • Du holst auf die Anweisung auch nicht die Verbindung
  • fetchAll gibt ein zweidimensionales Array zurück, wenn Sie den Inhalt mit var_dump sehen möchten nicht echo
<input id="mymusic"
       type="checkbox" 
       name="mymusic" 
       <?php echo ($result['my_music']==1 ? 'checked' : '');?>     
/>

<input id="mymovies"
       type="checkbox" 
       name="mymovies"  
       <?php echo ($result['mymovies']==1 ? 'checked' : '');?>
/>