2016-12-01 4 views
0

1つのレコードを更新してから別のレコードを削除しようとしていますが、どちらか一方のレコードのみを行うことができます。レコードを更新してから削除する

$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; 
$update2 = "DELETE FROM playeritems WHERE id = '$realid'"; 

どのようにして両方を行うのですか? 私は以下を試しました。

$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user' DELETE FROM playeritems WHERE id = '$realid'"; 

__ FULL CODE __

$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; 
$update = "DELETE FROM playeritems WHERE id = '$realid'"; 

if ($_SERVER['REQUEST_METHOD'] = $_POST AND isset($_POST['sell'])) { 
$sql = "SELECT felcredits FROM user WHERE username = '$user'"; 
$result = $db_conn->query($sql); 
if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     $felcredits = $row['felcredits']; 
    } 
} 
$value = $felcredits + $value; 
$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; 
$update2 = "DELETE FROM playeritems WHERE id = '$realid'"; 
if ($db_conn->query($update) === TRUE) { 
    echo "<br />Details Updated"; 
} else { 
    echo "Error: " . $insert . "<br>" . $db_conn->error; 
} 

}

+1

別々に実行してください – Ghost

+0

完全なコードを表示してください。 – markdwhite

+0

完全なコードが最後に追加されました – Kamata

答えて

0

あなたはこの

ようなあなたの完全なコードに変更してみてくださいあなたの実行コードで


if ($_SERVER['REQUEST_METHOD'] = $_POST AND isset($_POST['sell'])) { 
$sql = "SELECT felcredits FROM user WHERE username = '$user'"; 
$result = $db_conn->query($sql); 
if ($result->num_rows > 0) { 
// output data of each row 
while($row = $result->fetch_assoc()) { 
    $felcredits = $row['felcredits']; 
} 
}  
$value = $felcredits + $value; 
$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; 
$update2 = "DELETE FROM playeritems WHERE id = '$realid'"; 
if (($db_conn->query($update) === TRUE) && ($db_conn->query($update2) ===  TRUE)) { 
echo "<br />Details Updated"; 
} else { 
echo "Error: " . $insert . "<br>" . $db_conn->error; 
} 
} 
4

問題はここにある:

$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; 
$update = "DELETE FROM playeritems WHERE id = '$realid'"; 

あなたの2番目のSQLクエリは最初のものを上書きし、そのように別のクエリを行います:

$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; 
mysqli_query($conn, $update); 

$delete = "DELETE FROM playeritems WHERE id = '$realid'"; 
mysqli_query($conn, $delete); 
$ connは接続ハンドルである

+0

これは、上記の答えではなく、受け入れられた回答でなければなりません。 – Ronald

+0

@ロナルドOK、蒲田さんが上記の方がより快適です –

関連する問題