2010-02-15 4 views
0

Ok, je n'utilise pas assez souvent le php pour m'en souvenir quand j'y retourne. Je vais un peu fou avec celui-ci. Je vais poster le code ci-dessous, mais quelques explications rapides. con.php est un fichier php qui crée la connexion de base de données $ wkHook. Il n'y a aucun problème avec la connexion, ce n'est donc pas mon problème. Fondamentalement, je sélectionne les données d'une table, la stocke, puis la boucle. Dans cette boucle, j'essaie d'insérer les données dans une autre table. Vous remarquerez que je fais écho à $ mid dans la boucle, c'est pour me faire savoir que la boucle elle-même fonctionne. Et ça marche. Quand je boucle à travers chaque valeur pour $ mid est renvoyé. La requête à l'intérieur de la boucle, cependant, ne fait rien. Il n'a même pas la décence de jeter une erreur. Il traverse juste et la boucle comme si la requête n'était pas là.mysqli, les boucles, et les déclarations préparées

require('con.php'); 
$runonce=$wkHook->prepare("select moveId, Max, Hev, Work, Split, Rps from Movement order by movementId asc"); 
      $runonce->execute(); 
      $runonce->store_result(); 
      $runonce->bind_result($mid, $max, $hev, $wrk, $spt, $rps); 
$user=1; 

while($runonce->fetch()) 
{ 
    echo $mid."<br>"; 
    $runup=$wkHook->prepare("insert into Entry 
(userId, movementId, Max, Hev, Work, Split, Rps) 
values 
(?, ?, ?, ?, ?, ?, ?)"); 
    $runup->bind_param('iisssss', $user, $mid, $max, $hev, $wrk, $spt, $rps); 
    $runup->execute(); 
} 
$runup->close(); 
$runonce->close(); 
$wkHook->close(); 
+0

Wow, j'utilisé l'affaire écrire le code. WTF? Il semblait bien dans l'aperçu. Comment puis-je résoudre ce problème? –

+0

Utilisez le bouton "code". Je l'ai réparé pour vous. ** edit: ** FFS, arrête de gaffe. – ceejayoz

+0

Merci. J'ai utilisé le bouton de code. Ou du moins je pensais l'avoir fait. Comme je l'ai dit, cela semblait correct dans l'aperçu. –

Répondre

0

Vous semblez initialiser votre connexion de base de données encore et encore. Essayez de supprimer la seconde, intérieure require('con.php').

erreurs MySQL ne vont pas cracher sur le navigateur par défaut, vous devez appeler la mysql_error() ou mysqli_error fonctions pour voir ce qui se passait mal si quoi que ce soit. Ajouter ceci après votre appel exécuter dans votre boucle pour voir si des erreurs sont signalées:

echo mysqli_error() . '<br />'; 
+0

Oui, je l'ai essayé sans la deuxième initialisation à l'origine. J'ai mis cela en pensant que c'était le problème. Ce n'était pas et j'ai oublié de l'enlever. Je vais changer cela maintenant. –

+0

Donc, juste pour clarifier, ce n'était pas le problème. Le problème n'est toujours pas résolu. –

+0

@robert knobulous: Gotcha. Je viens de mettre à jour ma réponse avec quelque chose qui devrait vous donner plus d'informations sur le problème sous-jacent. Laissez-moi savoir comment ça se passe. – nortron

Questions connexes