2014-10-11 5 views
0

저는 코딩/프로그래밍에서 매우 새로워서 문제를 해결하는 것이 쉽지 않습니다. mysql 테이블을 표시해야하는 PHP 페이지를 만들어야하며, 값을 업데이트하고 새 테이블을 삽입 할 수 있도록해야한다.PHP를 사용하여 mysql 데이터베이스를 업데이트하십시오.

현재 내가 업데이트 버튼을 만드는 데 어려움을 겪고 있습니다. "구문 분석 오류 : 구문 오류, 예기치 않은 '}'이 (가) 21 행의 /home/madisu/public_html/webprog1/kodutoo_toovoog/kodutoo_3.php에 있습니다."

그리고 "업데이트"버튼의 작동 여부를 제어하는 ​​코드라고 생각합니다.

if(isSet($_POST['update'])) { 
    $UpdateQuery = "UPDATE proov SET id='$_POST[id]', name='$_POST[name]', email='$_POST[email]', phone='$_POST[phone]' WHERE id='$_POST[hidden]'"; 
    mysql_query($UpdateQuery, $dbc) 
} 
+0

@ madis121 : ** SQL injection ** 및 기타/유사한 취약점을 읽어보십시오. – lxg

+0

mysql_query() 줄에 세미콜론이 없습니다. – mauris

답변

0
if(isset($_POST['update'])) { 
    $id = mysql_real_escape_string($_POST['id']); 
    $name = mysql_real_escape_string($_POST['name']); 
    $email = mysql_real_escape_string($_POST['email']); 
    $phone = mysql_real_escape_string($_POST['phone']); 
    $hidden = mysql_real_escape_string($_POST['hidden']); 

    $UpdateQuery = "UPDATE proov SET id='$id', name='$name', email='$email', phone='$phone' WHERE id='$hidden'"; 
    mysql_query($UpdateQuery, $dbc); 
} 
세미콜론을 놓친

으로 코드를 바꿉니다 닫는 세미콜론

mysql_query($UpdateQuery, $dbc); 
+0

오 예! 어리석은 haha. 빠른 답장을 보내 주셔서 감사합니다! 그리고 나는 정말로 모른다, 나는 아마도 내 유니 서버보다 나은 것을 사용해야한다. 다시 한번, 조언에 감사드립니다. – madis121

+0

이스케이프 처리되지 않은 $ _POST 데이터를 쿼리에 잘못 삽입 한 경우 수정하지 않는 것이 좋습니다. – lxg

-1

아래 줄에 세미콜론이 누락되었습니다.

mysql_query($UpdateQuery, $dbc) 

아래와 같이 수정되었습니다. 당신은 코드 아래

if(isSet($_POST['update'])) { 
    $UpdateQuery = "UPDATE proov SET id='".$_POST['id']."', name='".$_POST['name']."', email='".$_POST['email']."', phone='".$_POST['phone']."' WHERE id='".$_POST['hidden']."'"; 
mysql_query($UpdateQuery, $dbc); 

} 
0

...

참고 : unsanitized POST va를 사용하는 것은 좋지 않습니다. db 쿼리에 대한 lues.

참고 2 : 관리자 또는 PHPMyAdmin을 사용하지 않는 이유는 무엇입니까? 아래 코드

0

누락

if(isSet($_POST['update'])) { 
$UpdateQuery = "UPDATE proov SET id='$_POST[id]', name='$_POST[name]', email='$_POST[email]', phone='$_POST[phone]' WHERE id='$_POST[hidden]'"; 

mysql_query($UpdateQuery, $dbc); //CORRECTED 

} 
-1

시도는 그냥 간단한 검사입니다

if(isset($_POST['update'])) { 
    $UpdateQuery = "UPDATE proov SET id='".$_POST['id']."', name='".$_POST['name']."', email='".$_POST['email']."', phone='".$_POST['phone']."' WHERE id='".$_POST['hidden']; 
    mysql_query($UpdateQuery, $dbc); 

} 
-1
if (isSet($_POST['update'])) { 
    $errors = true; 
    // Check if the values are set 
    if (isset($_POST['id'], $_POST['name'], $_POST['email'], $_POST['phone'], $_POST['hidden'])) 
    $errors = false; 

    if (!$errors) { 
    $id = $_POST['id']; 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $phone = $_POST['phone']; 
    $hidden = $_POST['hidden']; 

    $UpdateQuery = "UPDATE proov SET id='$id', name='$name', email='$email', phone='$phone' WHERE id = '$hidden'"; 
    mysql_query($UpdateQuery, $dbc); 
    } else { 
    echo "An error occurred. One or more of the post values were not set."; 
    trigger_error(var_dump($_POST['update']), E_USER_WARNING); 
    } 
} 

당신에게 아이디어를 제공합니다.

관련 문제