2013-03-30 2 views
0

나는이 질문을 쉽게 참조 할 수 있도록 단락으로 나누겠습니다.PHP 준비된 문 업데이트 양식

  1. 나는 내가 지금까지 순서에서 "업데이트"양식을 사용했다 1.

  2. 와 데이터베이스에서 현재 숫자를 더한 데이터베이스의 수를 장점이 더 버튼이있는 웹 사이트가있다. 나는 그렇게 할 준비가 문을 사용했습니다 :

    <?php 
        require_once('connectvars.php'); 
        $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    
         if (mysqli_connect_errno()) { 
          echo 'Cannot connect.' . mysqli_connect_error(); 
          exit(); 
          } 
    
         if ($stmt = $mysqli->prepare('UPDATE `javascriptbutton` SET `clicks`=? WHERE `id`=?')) { 
    
          $stmt->bind_param('ii', $clicks, $id); 
    
          $clicks = $_POST['clicks'] + 1; 
          $id = 1; 
    
          $stmt->execute(); 
    
          $stmt->close(); 
    
         } else { 
          echo 'Woops, something went wrong.: ' . $mysqli->error; 
         } 
    

    >

  3. 사용자가 HTML에서 버튼을 누르면, 그 위의 PHP 스크립트를 참조 Ajax를 포함하는 스크립트를 호출?.

  4. 버튼을 누를 때마다이 PHP 파일은 id = 1 인 데이터베이스 열 "클릭"에서 현재의 "클릭 수"를 가져 와서 데이터베이스에 다시 삽입해야합니다.

  5. 나는 연구와 내 코드를 많이보고 난과 관련이 있다는 결론을 내릴 수있다 :

    $ 클릭 = $ _POST [ '클릭'] + 1;

$ _POST [ '클릭은'] 데이터베이스에 현재 수 있어야하며 1

질문에 의해 plussed 얻을 : 내가 현재의 클릭을 얻을 수있는 선택 양식을 작성해야합니까 데이터베이스에서? 또는 현재 클릭 수를 1로 더하고 다음에 사람이 버튼을 누를 때까지 새 번호를 다시 데이터베이스에 저장하려면 어떻게합니까?

5 단계를 깊게하고 싶다면 알려주세요.

답변

0

당신은 사용할 수 있습니다

$mysqli->prepare("UPDATE `javascriptbutton` SET `clicks`=`clicks`+1 WHERE `id`=?") 

편집 전체 코드 : 같은

if ($mysqli->prepare("UPDATE `javascriptbutton` SET `clicks`=`clicks`+1 WHERE `id`=?")) { 

     $stmt->bind_param('i', $id); 
     $id = 1; 

     $stmt->execute(); 

     $stmt->close(); 

    } 
+0

: $ 클릭 수 = 클릭 + 1; 시도했지만 작동하지 않습니다. MySQL 문자열에 직접 작성해야하기 때문입니까? 나는 준비된 문장을 처음 접했기 때문에 "?"기호를 사용하여 삽입 할 수 있다고 생각했습니다. 그냥 "id"로했던 것처럼 – PHPeter

+0

'column = column + 1'을 사용하면 MySQL이 나머지를 처리합니다 :) –

+0

이미 $ clicks = $ clicks + 1; 지금은 전혀 차이가없는 것처럼 보입니다. column = column이 무슨 뜻인지 모르겠지만 직접 mysqli 문자열에 삽입하지 않고 그것을 할 수있는 방법이 있어야만한다. – PHPeter