INNER JOIN:注意:显示未定义的索引

时间:2017-07-10 16:53:30

标签: php mysql inner-join

我有两张表temp_bidpost_project。我想要投标项目的记录。为此,我使用INNER JOIN进行了查询,但得到了Undefined Index错误。它适用于MySQL编辑器。

这是我的代码。

<?php
include 'conn.php';
session_start();
if ($_SESSION['EmailID'] == "") {
    header("location:index.html");
}

$getTempBid = "SELECT * from temp_bid TB INNER JOIN post_project P ON P._id = TB.prj_id " + 
" WHERE TB.bidBy = '" .$_SESSION['EmailID']."'";

$tempBidResult = mysqli_query($conn,$getTempBid);

while($fetchTempBid = mysqli_fetch_row($tempBidResult)) {
    $tempBidId = $fetchTempBid['tempBidId'];
    $tempBidPrjId = $fetchTempBid['prj_id'];
    $tempBidPostBy = $fetchTempBid['postBy'];
    $tempBidBy = $fetchTempBid['bidBy'];
    $tempBidOn = new DateTime($fetchTempBid['bidOn']);
    $tempBidAmount = $fetchTempBid['amount'];
    $tempBidDays = $fetchTempBid['days'];
    $tempBidProposalDetails = $fetchTempBid['proposalDetails'];
    $tempBidStatus = $fetchTempBid['bidStatus'];
    $prjId = $fetchTempBid['_id'];
    $prjTitle = $fetchTempBid['projectTitle'];
    $prjDescriptions = $fetchTempBid['projectDescriptions'];
    $prjSkills = $fetchTempBid['projectRequiredSkill'];
    $prjSkills1 = explode(",", $prjSkills);
    $prjBudget = $fetchTempBid['projectBudget'];
    $prjPostDate = new DateTime($fetchTempBid['projectCreatedOn']);
    $prjStatus = $fetchTempBid['projectStatus'];
}
$records = mysqli_num_rows($tempBidResult);
?>

输出:

Notice: Undefined index: tempBidId in C:\wamp\www\Gopinath Infosystem\testpage.php on line 23
Notice: Undefined index: prj_id in C:\wamp\www\xxx\testpage.php on line 24
Notice: Undefined index: postBy in C:\wamp\www\xxx\testpage.php on line 25
Notice: Undefined index: bidBy in C:\wamp\www\xxx\testpage.php on line 26
Notice: Undefined index: bidOn in C:\wamp\www\xxx\testpage.php on line 27
Notice: Undefined index: amount in C:\wamp\www\xxx\testpage.php on line 28
Notice: Undefined index: days in C:\wamp\www\xxx\testpage.php on line 29

1 个答案:

答案 0 :(得分:3)

mysqli_fetch_row返回带有数字键的数组。来自documentation

  

从结果集中获取一行数据并将其作为枚举数组返回,其中每列存储在从0(零)开始的数组偏移中。对此函数的每次后续调用都将返回结果集中的下一行,如果没有其他行,则返回NULL。

使用mysqli_fetch_assoc代替返回一个数组,其中键是列名。