0

次のコードがあります

$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 とコース ID の両方が一致する場所から選択できることです。エコーのような単純なことを実行してもエラーは発生しませんが、この 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')
);

何か案は?

ありがとう

4

2 に答える 2

2

比較するには == 記号が必要です

if($user_id==1 && $course_id=="calculus_1")

そして、何か WHERE course_id="something" を選択しているため、データベース $rows['course_id'] から同じ値を返す必要はありません

$course_id = "calculus_1";
于 2013-09-12T16:43:11.880 に答える
1

を選択していないようcourse_idです。

結果セットに含めるには、それを選択する必要があります。そうしないと、取得した配列に含まれず、未定義になります。

これを試して:

SELECT `user_id`,`course_id` FROM .....
于 2013-09-12T16:43:04.457 に答える