私のデータベースは、次の列で構成されています: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;
}
}
?>
Tあなたは素早く答えてくれてありがとう。あなたのコードを試してみましたが、少なくとも私は今エラーが発生しています: 'Notice:/Applications/MAMP/htdocs/storeproject/updaterecords.php on line 8 Succesfull'の未定義インデックス:id。これは '$ id = $ _POST ['id'];'行にあります。私がそれを見ると、idは定義されていてはいけません。私はそこにIDを定義していますか? – Mimi
クライアント側からidパラメータを取得していないようです。それは私が考えることができる唯一のものです。 –