0

このコードは、過去 4 時間、私をつまずかせていました。プライマリ ID で写真の行を削除しています。

私が持っていてvar_dump($selectedPhoto)、それは正しい ID、番号です。私のコードは、写真の削除を押すたびに実行され、そのmysqli_stmt_store_result部分に到達して を撃ちますが$txtMessageデータベースは更新されません。

別のページで異なる変数を使用してまったく同じコードを使用し、完全に正常に動作するため、これは本当に奇妙です。

これを見てエラーが表示されますか?または、削除ステートメントを作成するためのより良い方法があります。

if (isset($_POST['btnDeletePhoto']))
{
    $selectedPhoto = $_SESSION['selectedPhoto'];
    $deleteString = "DELETE FROM Photos WHERE PhotoID = ?";
    $preparedDeleteStmt = mysqli_prepare($link, $deleteString);
    mysqli_stmt_bind_param($preparedDeleteStmt, 'i', $selectedPhoto);
    if (!mysqli_stmt_execute($preparedDeleteStmt))
    {
        mysqli_close($link);
        die("The system is not available, try again later");
    }
    if(mysqli_stmt_store_result($preparedDeleteStmt))
    {
        $txtMessage = "Delete successfull";
    }

追加するには:$selectedPhoto選択の値、ドロップダウン リストの値です。

4

1 に答える 1

0

写真が選択の値からのものである場合、それはセッション変数に保存されないため、おそらく次のように変更する必要があります。

$selectedPhoto = $_SESSION['selectedPhoto'];

に:

$selectedPhoto = $_POST['selectedPhoto'];

それとは別に、すべてのデータベース操作にエラー処理を追加する必要があります。

于 2012-12-05T00:40:42.220 に答える