如何在PHP中调养变量definie

时间:2018-12-12 23:45:29

标签: php mysql pdo

我在插入级别上有问题,实际上,我在if中定义了一个变量($ chrono),如果要将其插入数据库,我想在外部使用它。 当我执行代码时,它向我显示此错误:

  

警告:PDOStatement :: execute():在第109行的C:\ wamp \ www \ Jeu \ jouerJeu.php中

<?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 :(得分:0)

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

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