2012-11-19 2 views
-1

어떤 이유로 든이 SQL은 실행 중이며 출력 중입니다 : 이 제품에 다음 페이팔 버튼을 추가했습니다 ... 그러나 업데이트되지 않았습니다. 나는 이것에 대한 도움을 주시면 고맙겠습니다.이 SQL은 실행되지만 아무것도 업데이트하지 않는 이유는 무엇입니까?

if(isset($_REQUEST['submitedform'])) { 

    if ($_POST['paypal']) { 

     $paypal=$_POST['paypal']; 

     $id = $_GET['id']; 

     $query = "UPDATE `video_info` SET paypal_button_html='".$paypal 
     ."' WHERE id='".mysql_real_escape_string($id) ."'"; 

     mysql_query($query) or die(mysql_error()); 
     echo "successfully added the following paypal button to this product: 
     <br /><br /> 
     {$paypal}"; 
    } 
} 

?> 

<? 
if ($_GET['id']) { 
?> 
<h1>Add PayPal Button In for this product:</h1> 
<form action="add_paypal.php" method="POST"> 
    *Paypal button html: <br><textarea rows="2" cols="20" name="paypal"></textarea><br> 
    <input type="hidden" name="submitedform" value="true" /> 
    <input type="submit" value="Add paypal button in for this product"> 
</form> 

<? 

} else { 

    echo "You can not come to this page manually."; 
} 

?> 

답변

1

몇 가지 문제 :

    당신은 당신은
  • 양식이 $_GET['id'] 필드를 설정하지 않은 (그래서 데이터베이스 제출 명확한 유효성 검사 규칙을 가지고 있지 않은 데이터베이스 입력
  • 살균 일관되지 않는 한
  • 0,123,431 : 항상

개정 코드)에 실패했다

이 코드 ...

  1. 는 데이터베이스 쿼리
  2. 를 작성 제출 된 값의 유효성을 검증 제출에 대한
  3. 확인 쿼리를 제출하는 양식의 작업 URL에서 id 포함
  4. 쿼리가 작동하는지 확인합니다. 확인

수정 : RTFMing 후, 나는 is_int() 테스트 경우에만 숫자로 구성된 문자열, 분명히 false을 반환 발견으로is_numeric()is_int()을 대체되었습니다.

+0

mg 감사합니다. !!!!!!! 그래, 나는 is_int 것을보고 그것을 대체했다. 나를 위해 그렇게 해줘서 고마워. :) –

0

UPDATE

하시기 바랍니다, 그들 중 $_REQUEST 또는 $_GET 또는 $_POST 전부는 아니지만 3을 사용합니다.

또한 mysql_real_escape_string 변수 $_POST['paypal']을 보내시겠습니까?

+0

중복 요청을 피하기 위해 요청을 사용합니다. URL을 통해이 페이지로 보내는 다른 페이지의 데이터를 가져 오기 때문에 Get을 사용합니다. 문제라고 생각해서 mysql_real_escape_string을 가져 왔습니다. 시간 내 주셔서 감사합니다. –

+0

그래서 이드는 전혀 존재하지 않을 수도 있습니까? 이렇게하면 명령문은 성공하지만 아무 것도 변경하지 않습니다. –

0

$_GET$_POST 개의 변수가 섞여 있습니다. GET 또는 POST 중 하나만 사용해야하며 둘 다 사용할 수는 없습니다. 게시 요청 인 경우 $_GET['id']$_POST['id']으로 변경하십시오.

이 경우 where id = '' 때문에 업데이트가 실패하지 않습니다. 빈 문자열이없는 id이 없기 때문에 아무것도 업데이트하지 않습니다. 그러나 유효한 업데이트 문이므로 실패하지 않습니다.

+0

다른 페이지에서이 데이터를 전송하기 때문에 URL에서 id 값을 가져와야했습니다. –

+0

그래서 당신이 말한 것은 효과가 없을 것입니다. 그래도 시간 내 주셔서 감사합니다. –

+0

try'echo $ query;' – Gaui

관련 문제