2016-07-29 191 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(); 
}