Как восстановить переменную в случае, если PHP - PullRequest
0 голосов
/ 13 декабря 2018

У меня проблема на уровне вставки, на самом деле я определил переменную ($ chrono) в if и хочу использовать ее снаружи if для вставки в базу данных.когда я выполняю код, он показывает мне эту ошибку:

Предупреждение: PDOStatement :: execute (): в C: \ wamp \ www \ Jeu \ jouerJeu.php в строке 109

<?php

 if(isset($_GET['chrono']) ){
         $chrono = $_GET['chrono'];
  }

if($_POST){
 // INSERTION DES INFOS DANS LA BDD :
 if(isset($_POST['rep'] ) ){
    $var= $_POST['rep'];
    $pos = strpos($var, '+', 1); 
    $id_quest=substr($var, $pos, strlen($var));
    $rep= substr($var, 0, $pos); 

    $resultat = $pdo -> prepare("INSERT INTO 
     rep_loaba(id_quest,id_joueur,rep,id_loaba,score) VALUES 
     (:id_quest,:id_joueur,:rep, :id_loaba,:score)");

//INT
$resultat  -> bindParam(':id_quest', $id_quest, PDO::PARAM_INT);
$resultat  -> bindParam(':id_joueur', $id_user, PDO::PARAM_INT);
$resultat  -> bindParam(':rep', $rep, PDO::PARAM_STR);
$resultat  -> bindParam(':id_loaba', $id_loaba, PDO::PARAM_INT);
$resultat  -> bindParam(':score', $chrono, PDO::PARAM_INT);

if($resultat -> execute()){ 
    $id_insere = $pdo -> lastInsertId();
    $page=$_GET['page'];
    $next=$page+1;
    header('location:jouerJeu.php?page='.$next.'&id='.$id_loaba);

}
else{
    $msg .= '<div class="erreur">Erreur dans la requête !! </div>';
}

}else{
    header('location:jouerJeu.php?page='.$next.'&id='.$id_loaba);
}

 }
 ?>

1 Ответ

0 голосов
/ 13 декабря 2018

Если $_GET['chrono'] не установлено, вы никогда не назначаете значение для $chrono, затем вы пытаетесь вставить это неопределенное значение в базу данных.Вам нужно присвоить ему значение по умолчанию, чтобы последующий код работал правильно.

if(isset($_GET['chrono']) ){
    $chrono = $_GET['chrono'];
} else {
    $chrono = 0; // or whatever is appropriate to insert into the DB.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...