,我无法弄清楚
问题描述:
此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行
答
变量 “possesseur” 未在URL传递这样
script.php?possesseur=TEST
这是不是一个MySQL错误,这是一个PHP通知
答
$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();
}
这不是一个sql错误,它是一个php错误。如果您阅读了您所知道的错误,您的$ _GET没有名为“possesseur”的索引 –