2013-09-24 1 views
-1

거의 모든 것을 시도했지만이 간단한 업데이트 쿼리를 사용할 수 없습니다. MySQL에서 간단한 업데이트 쿼리가 실패 함

Array ([pSelect] => 102 [budget] => 44 [submit] => submit) 

는 그래서 그것은 ID를 얻을 않는 것으로 결론 지을 수 있으며, 입력 필드 budget로부터 값을 수신한다 :

배열이다.

<form action="test.php" method="post" action="test.php"> 
    <select name = 'pSelect' id = 'pSelect'>  
    <?php 
$result = mysql_query 
("SELECT ID, Project, Projectnummer, Klant, Budget 
    FROM tblproject 
    WHERE Status = '1' 
    ORDER BY Klant ASC 
"); 
while($row1 = mysql_fetch_array($result)) 
{ 
    $pID = $row1['ID']; 
    echo "<option value=\"" . $row1['ID'] . "\""; 
    if (isset($_POST['pSelect']) && $row1['ID'] == $_POST['pSelect']) 
    { 
    echo " selected='selected'"; 
    } 
    echo ">" . $row1['Klant'] ." ". $row1['Project'] ." ". $row1['Projectnummer'] . "</option>"; 
     echo "<br />"; 
} 
?> 
    </select> 
    <input type="text" name="budget" /> 

<?php 

if (isset($_POST['submit'])) 
{ 
    $ID = $_POST['pSelect']; 
    $budget = $_POST['budget']; 
    mysql_query 
    (" UPDATE tblproject SET Budget = '$budget',WHERE ID = '$ID'"); 
} 
print_r($_POST); 
?> 
<input type="submit" name="submit" value="submit" /> 
</form> 
+1

가 예산 = '$ 예산' '다음에 쉼표가 안' – Steven

+0

양식 태그 작동 – Dexa

+0

내 세상에 더블 액션에 대한 필요를 그렇게 보냈다 그 비열한 콤마의 많은 시간 cuzz! = | 애들 아. – DragonChaser

답변

0

, 제발, 제발, 제발 ... 준비된 문/매개 변수화 된 쿼리를 사용하지 않을 경우 최소한 mysql_real_escape_stri를 사용할 수 있습니까? 질의에 대한 모든 매개 변수에 대한 ng() 함수? 예 :

$query = sprintf(" 
    UPDATE tblproject SET 
    Budget = '%s' 
    WHERE ID = '%s'", 
    mysql_real_escape_string($budget), 
    mysql_real_escape_string($ID)); 
    ); 
mysql_query($query); 

대체 방법은 응용 프로그램에서 어느 시점에서 SQL 주입 문제를 일으키는 것입니다.

+0

Tnx, 최선의 답변으로 선택, 나는 real_escape_string을 사용하지만이 코드는 프로토 타입이며 큰 시스템의 일부입니다. 나는이 프로그램이 총 3000 라인의 PHP라고 생각하며 쉼표 때문에 하루 종일 보냈다. – DragonChaser

1

노력이

mysql_query("UPDATE tblproject SET Budget = '".$budget."' WHERE ID = '".$ID."' "); 
+0

나는 그것을 ussualy하지만 옵션 밖으로,이 스레드를 해결하기 위해 steven을 클릭 문제 해결 된 캔트 클릭하고 자신을 대답 할 수 없다 ... ?? 이것은 매우 실망 스럽다. – DragonChaser

0

노력이 스티븐에 의해 언급 한 바와 같이, 당신은 Budget = '$budget',

그리고 말에 잘못된 쉼표가

UPDATE tblproject SET Budget = '".$budget."' WHERE ID = '".$ID."' 
0

UPDATE 쿼리보십시오 : 또한

mysql_query ("UPDATE tblproject SET Budget = '".$budget."' WHERE ID = '".$ID."'"); 
관련 문제