我有以下代码
$sqlSubscription = "SELECT `user_id` FROM subscriptions WHERE `user_id` = '".$user_id."' and `course_id` = 'calculus_1'";
$subscriptionResult = mysql_query($sqlSubscription);
if($subscriptionResult === FALSE) {
die(mysql_error()); // temp error handling
}
while ($rows = mysql_fetch_assoc($subscriptionResult))
{
$user_id = $rows['user_id'];
$course_id = $rows['course_id'];
if($user_id==1 && $course_id="calculus_1")
{
//do some work
}
}
我收到错误Notice: Undefined index: course_id
导致错误的行在while语句中$course_id = $rows['course_id'];
奇怪的是我可以选择用户和课程ID匹配的地方,而且还有做任何像echo这样简单的错误,但是当我在输出数据时添加这个while语句以验证用户和course_ids都匹配某个规则时,我得到了这个错误。
这是通过phpMyAdmin
导出PHP数组<?php
/**
* Export to PHP Array plugin for PHPMyAdmin
* @version 0.2b
*/
//
// Database `test`
//
// `escholars`.`subscriptions`
$subscriptions = array(
array('user_id' => 'test','course_id' => 'calculus_1','start_date' => '2013-09-12','end_date' => '2013-09-28')
);
有什么想法吗?
由于
答案 0 :(得分:2)
比较你需要==标志
if($user_id==1 && $course_id=="calculus_1")
你正在选择WHERE course_id =“something”,所以你不需要从数据库$ rows返回相同的值['course_id']
$course_id = "calculus_1";
答案 1 :(得分:1)
您似乎没有选择course_id
。
您需要选择它才能将其包含在结果集中。否则它将不会包含在您提取的数组中,并且将是未定义的。
试试这个:
SELECT `user_id`,`course_id` FROM .....