Je suis juste allé de mysqli déclaration préparée à PDO déclaration préparée, car cela rendrait les choses plus faciles pour moi soi-disantAOP variation des paramètres - comment puis-je mettre à jour les parties d'une ligne de base de données
Je suis en train de ne mettre à jour etc facebook si facebook n'est pas vide, mais actuellement il va tout mettre à jour sur le formulaire soumettre aussi des variables vides, comment puis-je résoudre ce problème?
PHP
if (isset($_POST['submit'])) {
$facebook = $_POST['facebook'];
$twitter = $_POST['twitter'];
$youtube = $_POST['youtube'];
$stmt = $dbCon->prepare(" UPDATE login_media "
. " SET login_media_youtube = :youtube, "
. " login_media_facebook = :facebook, "
. " login_media_youtube = :youtube, "
. " login_media_twitter = :twitter ");
$stmt->bindParam(":facebook", $facebook);
$stmt->bindParam(":twitter", $twitter);
$stmt->bindParam(":youtube", $youtube);
$stmt->execute();
}
?>
HTML
<form class="multiForm" action="" method="POST">
<input type="text" name="youtube" placeholder="Youtube">
<input type="text" name="facebook" placeholder="Facebook">
<input type="text" name="twitter" placeholder="Twitter">
<input type="submit" name="submit">
</form>
Je ne me sens pas comme faire beaucoup de si les déclarations et mise à jour/query chacun si une condition est remplie, je pense qu'il est possible de le rendre dynamique , mais comment?
Vous devez ajouter une clause WHERE à votre requête pour limiter la mise à jour à une seule ligne dans ce tableau, mais vous ne nous montrez rien qui indiquerait quel est l'index de ces lignes – RiggsFolly
Je pense que vous avez mal compris, il suffit de mettre à jour etc facebook si facebook n'est pas vide, mais actuellement il met à jour tout dans la rangée :) peu importe quelle ligne/où elle met à jour :) ceci est juste à des fins de test. Donc, si j'entre Facebook.com/blabla dans le champ de saisie Facebook, il ne devrait mettre à jour facebook dans la base de données et pas twitter/youtube j'espère que vous comprenez – Javaish
Ensuite, vous avez besoin d'une clause WHERE pour dire à la requête qu'il ne peut être mis à jour que si login_media_facebook NOT NULL' ou peut-être 'login_media_facebook! = ''' En fonction de la valeur par défaut de cette colonne – RiggsFolly