在我的第一个PHP博客系统上工作时,我无法从页面显示查询结果 的 articles.php
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 } ?>
我收到错误:未定义的变量行。 SQL注入将相应处理。我只想了解函数如何使用2个变量。
答案 0 :(得分:4)
以下行中的$row
未定义。
$rArticlesId = selectArticleById( $row['artID'], $conn ); ?>
也许你的意思是$_GET['artID']
?
$rArticlesId = selectArticleById( $_GET['artID'], $conn ); ?>
答案 1 :(得分:0)
您在此行中使用$ row $rArticlesId = selectArticleById( $row['artID'], $conn ); ?>
虽然在下面的行中创建了$ row
<?php while($row = mysqli_fetch_array($rArticlesId)){ ?>
您需要在此处使用正确的变量。
答案 2 :(得分: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 } ?>