2014-01-06 59 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 } ?>