SQL错误,我无法弄明白

时间:2016-07-29 08:33:31

标签: php sql

这是代码:

<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=mydatabase;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare('SELECT nom FROM jeux_video WHERE possesseur = ?');
$req->execute(array($_GET['possesseur']));

    while($data = $req->fetch()){
        echo $data['nom'].'<br/>';
    }

$req->closeCursor();

?&gt;

这是错误:

注意:第12行的/opt/lampp/htdocs/openclassroom/index.php中的未定义索引:possesseur

2 个答案:

答案 0 :(得分:0)

变量&#34; possesseur&#34;不会像那样在

中传递
script.php?possesseur=TEST

这不是Mysql错误,它是PHP通知

答案 1 :(得分:0)

$req->execute(array($_GET['possesseur']));

你没有检查$ _GET ['possesseur']是否存在。在其中添加if子句:

<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=mydatabase;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
 if (isset($_GET['possesseur'])) {
     $req = $bdd->prepare('SELECT nom FROM jeux_video WHERE possesseur = ?');
     $req->execute(array($_GET['possesseur']));

    while($data = $req->fetch()){
        echo $data['nom'].'<br/>';
    }

    $req->closeCursor();
 }