2013-07-23 2 views
0

데이터를 데이터베이스에 게시하는 양식이 있습니다. 나는 sku = sku가 어디에 기록을 갱신하기를 원한다. 나는 전에 이것을 한 번도 해 본 적이 없기 때문에 이것을 읽었고 여러 가지 방법을 시도했지만 그들은 일하지 않았다. 여기 내가 지금까지 시도한 것입니다.데이터베이스에서 양식의 레코드를 업데이트 할 수 없습니다.

<?php 
if(isset($_POST['submit'])) 
{ 

$hostname_conn = "host address"; 
$database_conn = "database"; 
$username_conn = "username"; 
$password_conn = "password"; 
$conn = mysql_connect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 

    mysql_select_db("bi_social", $conn); 

    $sqlCmd = sprintf("UPDATE table2 SET sku2=%s sku=%s WHERE sku='%s'", 
    mysql_real_escape_string($_POST["sku"]), 
    mysql_real_escape_string($_POST["sku2"]), 
    mysql_real_escape_string($_POST["sku3"])); 

    //echo $sqlCmd; 
    //die();  

    mysql_query($sqlCmd); 

    mysql_close($conn); 
} 

?> 
<form method="post"> 
      <div class="large-3 columns"> 
<input name="sku" type="text" id="sku" placeholder="sku" value="<?=$_GET["sku"]?>"/> 
      </div> 
      <div class="large-3 columns"> 
<input name="sku2" type="text" id="sku2" placeholder="sku2" value="<?=$_GET["sku2"]?>"/> 
      </div> 
      <div class="large-3 columns"> 
<input name="sku3" type="text" id="sku3" placeholder="sku3" value="<?=$_GET["sku3"]?>"/> 
      </div> 
      <div class="large-3 columns"> 
    <input class="alert button" name="submit" type="submit" value="MATCH!"/> 
    </div> 
    </div> 
    </div> 
    </div> 
</form> 

데이터베이스에 삽입하지만 업데이트가 작동하지 않을 수 있도록하려면 어떻게했는지 잘 모르겠습니다. 어디서 잘못 가고 어떻게 해결할 수 있습니까? 감사 라이언

+0

한 문장에서 두 가지를 업데이트하려고합니다. 그럴 수도 있습니다. 어쨌든, 쿼리가 잘못되었습니다. 오류 메시지가 무엇입니까? –

+0

@RensGroenveld 데이터베이스를 가져 오지 않고 데이터베이스에 게시하지 않습니다. –

+0

오류가 발생하면 항상 오류가 발생합니다. Perhpas는 오류 진술이 출력물로 전달되지 않습니다. 다음 줄을 넣어보십시오 : error_reporting (E_ALL); 귀하의 스크립트 상단에 –

답변

1

당신은 UPDATE 문에 쉼표가 누락되었습니다. 업데이트 문은 다음과 같아야합니다.

UPDATE table2 SET sku2='%s', sku='%s' WHERE sku='%s' 
+0

고마워요. 내 % s 모두를 ''에두고 쉼표가 누락되지 않도록하십시오. –

0

변경 :

$sqlCmd = sprintf("UPDATE table2 SET sku3=%s, sku2=%s WHERE sku='%s'", 
mysql_real_escape_string($_POST["sku3"]), 
mysql_real_escape_string($_POST["sk2"]), 
mysql_real_escape_string($_POST["sku"])); 

OR,

$sqlCmd = "update table2 set sku3 = '".mysql_real_escape_string($_POST['sku3'])."', sku2 = '".mysql_real_escape_string($_POST['sku2'])."' where sku = '".mysql_real_escape_string($_POST['sku'])."'"; 
+0

안녕하세요 @ Niloy 사하 나는 이것을 시도하고 그것은 효과가 작동하지 않습니다 왜 모르겠어요. –

+0

두 번째 쿼리를 사용하고 알려주십시오 –

+0

안녕하세요, 저는이 하나도 시도했지만 작동하지 않았습니다. 하지만 지금은 내 대답을 발견 어디서 잘못 됐어, 도움을 주셔서 감사합니다, 라이언 –

관련 문제