2012-05-18 5 views
0

표시 테이블에서 'ID'를 가져 와서 employee_display_id라는 변수에 저장하려고합니다. 나는 ...

if(sset($_GET['id'])){ 
    $employee_display_id = $_GET['iod']; 
} 

하고는 '$ employee_display_id'변수를 사용하여 진행, 당신은 정의되지 않은 변수 오류가 발생을하면 아래 함수를 작성하지 않는 경우 있음을 알고 있습니다.

당신은 어떻게 통합 않는 ...에

if(sset($_GET['id'])){ 
    $employee_display_id = $_GET['iod']; 
} 

...

if(isset($_POST['update'])) 
{ 
    $updatename   = htmlentities(strip_tags(mysql_real_escape_string($_POST['update_name']))); 
    $updateusername  = htmlentities(strip_tags(mysql_real_escape_string($_POST['update_username']))); 

    echo $update_query = "UPDATE `employees` SET `name`='$updatename', `username`='$updateusername' WHERE `employee_id`='4'";/* $employee_display_id */ 
    $update_result = mysql_query($update_query); 
} 
    else 
{ 
    echo mysql_error(); 
} 

는 그래서는 UPDATE 쿼리의 WHERE 절에 변수를 사용할 수 있습니다 ??

답변

0

$_GET['id']에 체크를하고 $_GET['iod'] 을 지정하고 있습니다. 이 변수에 값이 할당 되었습니까?

0

나즈니언이 포인트를가집니다. 변수 이름을 다시 확인하십시오.

또한 GET과 POST의 차이점을 알고 계십니까? 어떻게 작동합니까? 아마도 테이블의 업데이트 링크에서 직원 데이터를 업데이트하겠습니까? 따라서 귀하의 링크는 다음과 같을 것입니다 http://example.com/update.php?id=6

그럼이 예제에서 GET [ 'id']은 6을 반환하고 코드를 사용하여 SQL 쿼리에 전달할 수 있습니다.

예 :

if(isset($_POST['update'])) 
{ 
    if(isset($_GET['id'])){ 
     $employee_display_id = $_GET['id']; 
    } 
    if(isset($_POST['update_name'])){ 
    $updatename = htmlentities(strip_tags(mysql_real_escape_string($_POST['update_name']))); 
    } 
    // and so on... 
} 

가 귀하의 질문에 대답합니까?

+0

안녕 Ouairz, 당신의 추정은 정확합니다 ... 내가 링크를 사용하는 테이블에서 업데이트 중입니다. ID에 대한 SELECT 문과 함께 사용할 isset 함수가 있고 변수에 echoet을 할당합니다. 이 ID의 전달을 확인하면 내가 첫 번째 업데이트 페이지를 엽니 다. 나는 당신이 제안한대로 내 UPDATE 문을 변경했다. 이 코드 블록을 추가 하겠지만, 주석을 추가 할 때이를 수행하는 방법을 모르십시오 (초보자 경보!). 그래서 내 의견을 당신의 것처럼 보이게 할 수는 없습니다. 무슨 일이 일어나고 있는지 'ID가 설정되지 않았습니다'로 설정된 else 문이 있습니다. – chrisjwebb1978

0

업데이트 명령 내에서 변수가 설정되어 있는지 확인하기 위해 약식을 사용할 수 있지만이를 설정해야 할 경우 쿼리가 예상대로 작동하지 않습니다.

변수가 SQL보다 먼저 설정되어 있는지 확인하는 것이 좋습니다. 설정되지 않은 경우 쿼리를 수행하지 마십시오.

if(isset($employee_display_id)){ 
    echo $update_query = "UPDATE `employees` SET `name`='$updatename', `username`='$updateusername' WHERE `employee_id`=" . $employee_display_id; 
    $update_result = mysql_query($update_query); 
} else { 
    echo "ID not set." 
} 
+0

안녕하세요 숀, 답장을 보내 주셔서 감사합니다. 그래서 당신의 대답에 설명 된대로 내 코드를 변경했습니다. 그러나 나는 또한 변수가 디스플레이 테이블에서 전달되고 있는지 확인하기 위해 SELECT 쿼리에 사용 된 첫 번째 isset 함수를 반향하고이를 확인했습니다. 그런 다음 'isset ($ _ POST ['update '])' '을 사용하여 업데이트 버튼이 눌려 졌는지 확인한 다음 양식 변수를 설정하면 제안한대로 코드를 사용하고 "ID가 설정되지 않았습니다"라는 메시지가 표시됩니다. 여기 잘못. – chrisjwebb1978

+0

코드 전체 또는 적어도 전체 업데이트주기를 게시 할 수 있습니까? 그것은 $ employee_display_id의 설정이 제대로 발생하지 않는 것처럼 들리지만 위의 코드를 사용한다면 [sset ($ _ GET ...)이 오타이고 if (isset ($ _ GET. ..]. – Sean

+0

나는 오버플로 스택에 새로운 코드 블록을 추가하는 방법을 잘 모르고있다.여러 가지 방법을 시도했지만 콘텐츠를 추가하지는 않습니다. 이 코드를 보낼 수있는 다른 방법은 없나요? 답장을 보내 주셔서 감사합니다. – chrisjwebb1978

관련 문제