2016-06-21 5 views
1

if 문이 작동하지 않는 문제가 있습니다. PHP 변수를 데이터베이스에 입력하기 전에 데이터베이스의 필드와 일치 시키길 원합니다. 어떻게 든, HTML 입력에 bullsh * t가 작성되고 데이터베이스와 교차 점검되고 일치하지 않으면 변수를 데이터베이스에 저장합니다.If 문이 작동하지 않습니다.

어떻게 해결할 수 있습니까?

다음 코드를 사용 :

if(isset($_POST ["SettInnM"])) { 
    $ManuellTagnavn = $_POST["TagnavnM"]; 
    //$ManuellTagnavn = strtoupper($ManuellTagnavn); 
    $annexaM = substr($ManuellTagnavn,0,2); 
    $annexb1M = substr($ManuellTagnavn,2,-4); 
    $sequenceNrM = substr($ManuellTagnavn,4,-1); 
    $paralellItem = substr($ManuellTagnavn,7); 
    $dato = date("d/m/Y"); 
    $prosjektID = $_SESSION["prosjekt_id"]; 

    $sql = "Select plass from annexa where plass = '$annexaM'"; 
    $res = mysqli_query($db, $sql); 

    $query = "Select format from annexb1 where format = '$annexb1M'"; 
    $res2 = mysqli_query($db, $query); 
    echo "$annexaM"; 
    echo "$annexb1M"; 

    if(mysqli_num_rows($res) > 0 AND mysqli_num_rows($res2) > 0) { 
     //Check if there are any match with one of the fielde in the database? If it matches, save in database 
     $sql = "Select prosjekttag, prosjekt_id from tagnavn where prosjekttag = '$ManuellTagnavn' AND prosjekt_id = '$prosjektID'"; 
     $resultat = mysqli_query($db, $sql); 

     if(mysqli_num_rows($resultat) == 0) { 
      $sql = "Insert into tagnavn(prosjekttag, startdato, prosjekt_id, opprettav)" //ENDRET AV ZLATAN 
       ."values ('$ManuellTagnavn', '$dato', '$prosjektID', '$userRow[username]')"; //ENDRET AV KAMALAN 
      $resultat = mysqli_query($db, $sql); 
     } else { 
      $resultat = false; 
     } 
    } 
} 
+0

$ query = "format = '". annexb1M. "'";으로 annexb1에서 형식을 선택하십시오. 다음과 같은 쿼리를 작성하십시오 –

답변

0
if(mysqli_num_rows($res) > 0 AND mysqli_num_rows($res2) > 0) //Cehck if there are any match with one of the fielde in the database? If it matches, save in database 

"데이터베이스의 필드 중 하나에 모든 일치 확인"하지 않습니다 당신이 코드의이 부분 당신이를 사용하지 않고 있기 때문에 AND 연산자를 사용하면 두 조건이 모두 필요합니다.

if(mysqli_num_rows($resultat) == 0) 

은 $ 입술과 $가 더 좋다 RES2을 모두 확인하려면 결과의 행 수는 당신의 탐구

http://www.w3schools.com/php/func_mysqli_num_rows.asp

추가 설정 반환 mysqli_result 객체를 반환하는지 확인하기 위해 둘 다 에코합니다. false가 표시되면 쿼리의 오류를 확인하는 것이 좋습니다. 그렇지 않은 경우 계속 진행하여 두 조건을 모두 확인할 수 있습니다. 즉

if(mysqli_num_rows($res) > 0 && mysqli_num_rows($res2) > 0) 

참고 :이 사실로 두 조건이 필요합니다. 따라서 적어도 하나의 조건이이되도록하려면 ||을 사용하십시오. (OR) 연산자.

+0

데이터베이스의 값과 어떻게 교차하는지, 그리고 일치하는 경우 IF 문으로 진행할 수있는 방법에 대한 제안 사항이 있습니까? –

+0

수정 된 답변을보고 마음에 문제가 있는지 알려주십시오. –

관련 문제