2017-01-21 2 views
1

Please Comment puis-je utiliser l'instruction préparée pour mettre à jour une table et l'insérer dans une autre table. je l'ai fait ce que je n'avais raison, mais la quand je soumets le formulaire sur cette page, juste me donner une page blanche et rien ne se passait dans la base de deux voir ce qu'il ressemble àInstruction préparée pour insérer et mettre à jour différentes tables dans la base de données

$check = "INSERT INTO users(userEmail, password, joinDate, recEmails, 
          isActive, hash, lastUpdated) 
      VALUES (?, ?, NOW(), 1, 0, ?, NOW()) "; 

$stmt = $mysqli->prepare($check); 
$stmt->bind_param('sss',$emailAddy,$password,$hash); 

$stmt->execute(); 
$stmt->close(); 

$check1="UPDATE pin SET status = '1', usedby = ?,WHERE pin = ?"; 

$stmt = $mysqli->prepare($check1); 

$stmt->bind_param('ss',$emailAddy,$pin);     
$stmt->execute(); 
$stmt->close(); 

Le résultat que je reçois est-ce example.com est actuellement incapable de gérer cette demande. J'ai essayé et découvert que le problème est caché quelque part ici, si je supprime l'instruction de la table de mise à jour, le code fonctionne bien, mais un je retourne le problème revient. S'il vous plaît quelqu'un peut-il aider?

+0

Où définissez-vous les valeurs à '$ emailAddy',' password' de $, '$ hash',' $ emailAddy' et '$ pin'? –

+0

Pourquoi votre code est toujours si bizarrement formaté, vous pouvez avoir plus d'une chose sur une ligne que vous connaissez. Et l'indentation, la subordination inculpée, c'est tomber par le code et devrait tous commencer par le même retrait – RiggsFolly

+0

je les ai déclarés dans les fonctions et l'a appelé dans la page d'inscription – Oba

Répondre

2

Vous avez une erreur ici:

$check1 = "UPDATE pin SET status = '1', usedby = ?, WHERE pin = ?"; 

Modifier à (Retirez le , après usedby = ?)

$check1 = "UPDATE pin SET status = '1', usedby = ? WHERE pin = ?"; 
+1

Merci Alon Eitan Qui a résolu il ne savait pas comment j'ai ignoré cela. – Oba