我有两张表temp_bid
和post_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
答案 0 :(得分:3)
mysqli_fetch_row
返回带有数字键的数组。来自documentation:
从结果集中获取一行数据并将其作为枚举数组返回,其中每列存储在从0(零)开始的数组偏移中。对此函数的每次后续调用都将返回结果集中的下一行,如果没有其他行,则返回NULL。
使用mysqli_fetch_assoc
代替返回一个数组,其中键是列名。