2016-06-10 3 views
0

제출할 때 데이터베이스를 업데이트 할 때 약간의 문제가 있습니다.DB 제출시 값을 업데이트하지 않습니다.

내 데이터베이스에는 다음이 있습니다. varchar는 iUserCash라고합니다.

로그인하면 데이터베이스 테이블에서이 행을 편집하고 싶습니다.

<form method="post"> 
      <table class="sign_up_form" align="center" width="30%" border="0"> 
      <tr> 
      <td> 
       <input type="text" name="cashBalance" placeholder="Nye beløb"/> 
      </td> 
      <td> 
       <button type="submit" name="btn-update" class="betting-btn">OPDATER</button> 
      </td> 
      <td> 
      </tr> 
      <tr> 
      </tr> 
      </table> 
      </form> 

그리고 내 SQL은 다음과 같습니다 :

HTML은 다음과 같습니다

session_start(); 
include_once 'controllers/dbConnect.php'; 

if(!isset($_SESSION['user'])) 
{ 
header("Location: index.php"); 
} 
$res=mysql_query("SELECT * FROM oneusers WHERE iUserId=".$_SESSION['user']); 

$userRow=mysql_fetch_array($res); 

if(isset($_POST['btn-update'])) 
{ 
$ucash = mysql_real_escape_string($_POST['cashBalance']); 

if(mysql_query("UPDATE oneusers SET iUserCash = '$ucash' WHERE iUserId='$res'")) 
{ 
?> 
     <script>alert('successfully registered ');</script> 
     <?php 
} 
else 
{ 
    ?> 
     <script>alert('error while registering you...');</script> 
     <?php 
} 
} 

그것은 잘 성공 메시지를 반환하지만 그냥 아무것도 업데이트 나던. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? :) 미리 감사드립니다.

+1

'$ res'는 값이 아니므로 리소스이므로 'iUserId ='$ res''는 의미가 없습니다. –

+0

은 숨겨진 파일에 iUserId를 전달하고 업데이트 쿼리에 사용합니다. – JYoThI

+0

원본 MySQL 확장은 이제 비추천이며 데이터베이스에 연결할 때 E_DEPRECATED 오류가 발생합니다. 대신 MYSQLi 또는 PDO_MySQL 확장을 사용하십시오. prepared statement – JYoThI

답변

1

당신은

은 $ _SESSION은 [ '사용자']은 ID입니다, 보인다 ...

mysql_query("UPDATE oneusers SET iUserCash = '$ucash' WHERE iUserId='$res'") 

당신이 iUserId을 위해 $의 고해상도를 사용하고 있지만,이 DB 리소스의에서 오류가 그 당신은 쿼리에서 필요합니다 ... 그래서 그것을 시도하십시오

mysql_query("UPDATE oneusers SET iUserCash = '$ucash' WHERE iUserId=" . $_SESSION['user']); 
+1

왜이게 iUserId = ' ". $ _SESSION ['user ']."' – JYoThI

+0

$ _SESSION [ 'user']이 (가) id인지 어떻게 알 수 있습니까? 나는 단지 예측하고있다. – tanaydin

+1

같은 테이블 'oneusers'와 동일한 coloumn 'iUserId'이름을 보았습니다. 그 이유는 그가 두 가지 쿼리에서 사용했기 때문입니다. – JYoThI

관련 문제