php
  • mysql
  • 2012-02-22 18 views 0 likes 
    0

    以下のクエリを書いて、データベースレコードのレコードが以下の条件と一致するかどうかを確認しました。私はそれがこの条件に合致するarowあります確信しているが、問題は、組み合わせのいずれかのセットは、「レコードが存在する」返すことで、事前にMysql_num_rows()issues

    $query = mysql_query("SELECT * FROM   result_upload 
    WHERE course_code = '$course_code' 
    WHERE session = $session' 
    WHERE semester_name = $semester_   name' 
    WHERE level = $level'") or die 
    (mysql_error()); 
    
    $duplicates = mysql_num_rows($query); 
    if ($duplicates = 1) 
    { 
    echo "Record Exists"; 
    }  else 
    { 
    echo "No Record"; 
    } 
    

    感謝を並べます。

    答えて

    1

    あなたはあなたの中にWHERE句は、クエリ、あなたはWHEREとの最初の後に、すべてのWHERE文を置き換えること以上のものを持っているすべてのファーストを書きますそして。

    は、次に使用:

    ($ duplictes == 1)

    ホープ、このことができます!

    3

    比較(a == b)で2回、割り当て(a = b)で1回、等号(=)を2回使用します。

    4

    これは、比較演算子ではなく、割り当てである$duplicates == 1

    使用してみてください。これに代えて

    2
    if ($duplicates == 1) { 
    .... 
    //OR 
    if ($duplicates > 0) { 
    ..... 
    
    1
    if ($duplicates = 1) 
    

    ..

    if ($duplicates == 1) 
    
    0

    あなたは使用する必要があります。

    1) only one WHERE clause with AND operator 
    2) if($duplicates >=1) 
    
    0

    は、二重等しい(==)記号を使用してください。これは2つの項目を比較するコンパレータです。等号(=)を1つだけ使用する場合は、変数を設定しています。何をする必要がある:代わりに

    if ($duplicates = 1) 
    

    if ($duplicates == 1) 
    

    何が後にやっていることは実際には常にtrueに評価される、1に$複製を設定しています。したがって、決して終わりのないループを作成しています!

    関連する問題