if-php中如何恢复变量定义

p5fdfcr1  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(250)

我在插入级别有个问题,事实上,我在if中定义了一个变量($chrono),我想在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);
}

 }
 ?>
fcg9iug3

fcg9iug31#

如果 $_GET['chrono'] 如果未设置,则从不为其赋值 $chrono ,然后尝试将此未定义的值插入数据库。您需要给它一个默认值,以便后面的代码可以正常工作。

if(isset($_GET['chrono']) ){
    $chrono = $_GET['chrono'];
} else {
    $chrono = 0; // or whatever is appropriate to insert into the DB.
}

相关问题