2016-07-29 163 views
0

此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(); 

>

,这是错误:,我无法弄清楚

注意:未定义指数:possesseur在/ opt/LAMPP/htdocs中/ openclassroom/index.php的第12行

+0

这不是一个sql错误,它是一个php错误。如果您阅读了您所知道的错误,您的$ _GET没有名为“possesseur”的索引 –

回答

0

变量 “possesseur” 未在URL传递这样

script.php?possesseur=TEST 

这是不是一个MySQL错误,这是一个PHP通知

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(); 
}