2017-05-04 10 views
1

私のデータベースは、次の列で構成されています:id, openingHours, recordsプリペイドドステートメントで更新し、IDを持つ行をバインドします

私はMySQLデータベースから行をプリントアウトするHTMLテーブルを持っています。各HTML行の右側に、Selectをクリックするボタンがあります。選択をクリックすると、列recordsを+1で所属列idに更新する必要があります。

sqli = ("UPDATE stores SET records = records + 1 WHERE id = 333); 

しかし、私は、私は選択ボタンを使用した行のIDをバインドする必要があります:私はこのようなクエリを使用する場合

そのクエリは、phpMyAdminの中で働いています。このコードで選択ボタンをクリックすると、phpMyAdminの行が更新されません。私は間違って何をしていますか?私はエラーを取得:これらの変更を行いUndefined index: id in /Applications/MAMP/htdocs/storeproject/updaterecords.php on line 8 Updated Succesfull.

HTML

<form action="updaterecords.php" method="post"> 
    <button type="submit" class="btn btn-success" name="submit">Select</button> 
    <?php include 'updaterecords.php' ?> 
</form> 

updaterecords.php

<?php error_reporting(E_ALL); ini_set('display_errors', 1); 

if (mysqli_connect_errno()) { echo "Error: no connexion allowed : " . mysqli_connect_error($mysqli); } 
?> 
<?php 

if(isset($_POST['submit'])) { 
$id = $_POST['id']; //line 8 

    $stmt = $mysqli->prepare("UPDATE stores SET records = records + 1 WHERE id =".$id); 

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

    if ($stmt->execute()) { 
     $success = true; 
    } 

    $stmt->close(); 

    $mysqli->close(); 
    if($success) { 
     echo "Updated Succesfull"; 
    } else { 
     echo "Failed: " . $stmt->error; 
     } 
    } 

?> 

答えて

0

$stmt = $mysqli->prepare("UPDATE stores SET records = records + 1 WHERE id= ?");

+0

Tあなたは素早く答えてくれてありがとう。あなたのコードを試してみましたが、少なくとも私は今エラーが発生しています: 'Notice:/Applications/MAMP/htdocs/storeproject/updaterecords.php on line 8 Succesfull'の未定義インデックス:id。これは '$ id = $ _POST ['id'];'行にあります。私がそれを見ると、idは定義されていてはいけません。私はそこにIDを定義していますか? – Mimi

+0

クライアント側からidパラメータを取得していないようです。それは私が考えることができる唯一のものです。 –

関連する問題