2014-01-06 60 views
-2

我的第一个PHP博客系统上工作的结果的时候,我不能从页面显示我的查询结果 articles.phpPHP未定义的变量调用错误的查询

include ('config/dbconnect.php'); 
function selectArticleById($IdArticle, $c){ 

$sqlArticlesId = 'SELECT 
      artID, 
      artTitre, 
      artAuteur, 
      artContenu, 
      artDate 
      FROM articles 
      WHERE artID =\''.$IdArticle.'\' 
      '; 
$result = mysqli_query($c, $sqlArticlesId); 
return $result; 

}

在我 menu.inc.php调用此函数

<?php 

$rArticlesId = selectArticleById($row['artID'], $conn); ?> 
<?php while($row = mysqli_fetch_array($rArticlesId)){ ?> 

<ul class="menu"> 

<li><a href="index.php?page=articleform"><?php echo $row['artTitre']; ?></a></li> 
<?php echo $row['artTitre']; ?> 
</ul> 
<?php } ?> 

我得到错误:未定义的变量 in。 SQL注入将被相应处理。我只想了解该函数如何与2个变量一起工作。

+0

哪里$行[ 'artid的数据类型']来自..? –

回答

4

下面一行中的$row未定义。

$rArticlesId = selectArticleById($row['artID'], $conn); ?> 

也许你的意思是$_GET['artID']

$rArticlesId = selectArticleById($_GET['artID'], $conn); ?> 
+0

这不起作用。 – swissed

+0

@swissed如果你能看到你的代码,并让我们知道你从哪里得到$ _GET ['artID']。它将很容易调试 –

0

您使用的是这一行$rArticlesId = selectArticleById($row['artID'], $conn); ?>

$行,而在该线下方

<?php while($row = mysqli_fetch_array($rArticlesId)){ ?> 

创建$行这里需要使用正确的变量。

0

谢谢所有帮助我的人。回答我的问题: 我宣布menu.inc.php内

<?php 
$rows = mysqli_fetch_assoc($rArticles); //THIS IS WHAT I ADDED 
$rArticlesId = selectArticleById($rows['artID'], $conn); ?> 
<?php while($row = mysqli_fetch_array($rArticlesId)){ ?> 

<ul class="menu"> 

<li><a href="index.php?page=articleform"><?php echo $row['artTitre']; ?></a></li> 
<?php echo $row['artTitre']; ?> 
</ul> 
<?php } ?>