2017-10-19 5 views
0

Je suis un code complet nooby et il y a des mois, j'ai construit un site web basique avant que mon serveur mobo ne meure. Je viens de reconstruire le serveur et copié sur tout mon site/code DB que j'avais sauvegardé sur mon bureau. Au meilleur de ma connaissance tout est le même entre le code php et la configuration de la base de données.Problème d'entrée de la base de données PHP (Wampserver)

Mon site fonctionne à 90% sauf lorsque je vais à l'entrée de données. J'obtiens une erreur de "attente d'entrée" opposée au "nouvel enregistrement créé avec succès" attendu. L'instruction relative if est tout en bas du code ci-dessous.

Quelqu'un par hasard a-t-il la moindre idée pourquoi, après avoir saisi toutes mes données, il ne déclenche pas le "Nouvel enregistrement créé avec succès"? Si cela signifie quoi que ce soit le code fonctionne très bien sur mon bureau et à moins que je l'ai fait quelque chose de vraiment stupide je copie/tout pasta'd appropriée à ce serveur :(

<?php 

//Connect to database 

include('database.php'); 

    //grab user logged in for database insertion 

    $user_check = $_SESSION['login_user']; 

    $ses_sql = mysqli_query($dbcon,"select username from t_login where username = '$user_check' "); 

    $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); 

    $login_session = $row['username']; 

// Create DB Variable 

$login_session = $row['username']; 
$excercisename = (isset($_POST['excercisename']) ? $_POST['excercisename'] : null); 
$setcount = (isset($_POST['setcount']) ? $_POST['setcount'] : null); 
$rep1 = (isset($_POST['rep1']) ? $_POST['rep1'] : null); 
$rep2 = (isset($_POST['rep2']) ? $_POST['rep2'] : null); 
$rep3 = (isset($_POST['rep3']) ? $_POST['rep3'] : null); 
$rep4 = (isset($_POST['rep4']) ? $_POST['rep4'] : null); 
$rep5 = (isset($_POST['rep5']) ? $_POST['rep5'] : null); 
$rep6 = (isset($_POST['rep6']) ? $_POST['rep6'] : null); 
$rep7 = (isset($_POST['rep7']) ? $_POST['rep7'] : null); 
$rep8 = (isset($_POST['rep8']) ? $_POST['rep8'] : null); 
$weight1 = (isset($_POST['number1']) ? $_POST['number1'] : null); 
$weight2 = (isset($_POST['number2']) ? $_POST['number2'] : null); 
$weight3 = (isset($_POST['number3']) ? $_POST['number3'] : null); 
$weight4 = (isset($_POST['number4']) ? $_POST['number4'] : null); 
$weight5 = (isset($_POST['number5']) ? $_POST['number5'] : null); 
$weight6 = (isset($_POST['number6']) ? $_POST['number6'] : null); 
$weight7 = (isset($_POST['number7']) ? $_POST['number7'] : null); 
$weight8 = (isset($_POST['number8']) ? $_POST['number8'] : null); 
$cardio = (isset($_POST['cardio']) ? $_POST['cardio'] : null); 
$duration = (isset($_POST['duration']) ? $_POST['duration'] : null); 
$weight = (isset($_POST['weight']) ? $_POST['weight'] : null); 
$comments = (isset($_POST['comments']) ? $_POST['comments'] : null); 


//Execute the insert statement 
if(!empty($excercisename)){ 
$sql = "INSERT INTO t_workout (username, excercisename, setcount, set1reps, set2reps, set3reps, set4reps, set5reps, set6reps, set7reps, set8reps, set1weight, set2weight, set3weight, set4weight, set5weight, set6weight, set7weight, set8weight, cardio, cardio_dur, weight, comments) 
VALUES ('$login_session', '$excercisename', '$setcount', '$rep1', '$rep2', '$rep3', '$rep4', '$rep5', '$rep6', '$rep7', '$rep8', '$weight1', '$weight2', '$weight3', '$weight4', '$weight5', '$weight6', '$weight7', '$weight8', '$cardio', '$duration', '$weight', '$comments')"; 
} 

    if($weight > 0){ 
    $sql = "INSERT INTO t_workout (username, weight) 
    VALUES ('$login_session', '$weight')"; 
    } 

if(isset($sql)){ 
    if ($dbcon->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Waiting for entry."; 
} 
} 
$dbcon->close(); 
?> 
+0

Si votre poids est réglé alors le $ sql écrasent les premiers insert. Vous voulez probablement exécuter les deux insertions et pas seulement la dernière. –

+0

oui je me souviens de cette partie. J'ai oublié exactement pourquoi mais sur le site j'ai spécifié que si vous voulez enregistrer votre poids personnel, laissez tout le reste vide. Mais même alors, sur mon site, entrer uniquement du poids renvoie une "attente d'entrée" Seule chose que je peux penser est que Wampserver sur mon bureau est 3.0.6, et sur mon serveur, il est 3.1.0. Cela pourrait-il être le problème par hasard? Mais j'hésite à penser cela parce que c'est juste le code correct? et toutes les tables/php sont là :( –

+0

Je suis assez perdu, j'ai tout désinstallé, installé le même Wampserver 3.0.6 sur le serveur, placé dans tout mon code du bureau pour le site/base de données afin qu'il soit identique. Mais toujours obtenir l'erreur "Waiting for entry" alors que ce problème n'existe pas sur le bureau.Suis très triste lol –

Répondre

0

pitié douce Je suis désolé pour tous ceux qui avait l'air dans ce lol .

Je l'ai résolu. le code et tout est très bien (bien, la façon dont le code est amateur).

la question est avec WampServer, dans mon dossier mysql.ini il y avait un point-virgule commentant sur sql-mode J'ai simplement enlevé le point-virgule et maintenant ça marche Je ne sais pas ce que le mode sql dans le fichier ini a fait ... mais c'est quelque chose que j'ai édité dans le fichier ini il y a des années que j'ai attrapé en comparant tous mes dossiers de configuration de wampserver.

, sql-mode = ""