Php 更新记录然后删除
我试图更新一条记录,然后一次删除另一条,但它只允许我做一个或另一个Php 更新记录然后删除,php,mysql,Php,Mysql,我试图更新一条记录,然后一次删除另一条,但它只允许我做一个或另一个 $update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'"; $update2 = "DELETE FROM playeritems WHERE id = '$realid'"; 我如何让它同时做到这两个呢? 我试过以下方法 $update = "UPDATE user SET felcredits = '$value' WHERE us
$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'";
$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;
}
if($\u服务器['REQUEST\u方法]]=$\u POST和isset($\u POST['sell'])){
$sql=“从用户名为“$user”的用户中选择felcredits;
$result=$db_conn->query($sql);
如果($result->num_rows>0){
//每行的输出数据
而($row=$result->fetch_assoc()){
$felcredits=$row['felcredits'];
}
}
$value=$felcredits+$value;
$update=“update user SET felcredits='$value',其中username='$user';
$update2=“从playeritems中删除,其中id='$realid';
if($db\u conn->query($update)==TRUE){
echo“
详细信息已更新”;
}否则{
echo“Error:”.$insert.“
”$db_conn->错误;
}
}问题在于:
$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'";
$update = "DELETE FROM playeritems WHERE id = '$realid'";
您的第二个sql查询将覆盖第一个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是连接句柄问题在于:
$update = "UPDATE user SET felcredits = '$value' WHERE username = '$user'";
$update = "DELETE FROM playeritems WHERE id = '$realid'";
您的第二个sql查询将覆盖第一个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是连接句柄您可以这样更改完整代码 在执行代码中
if($\u服务器['REQUEST\u方法]]=$\u POST和isset($\u POST['sell'])){
$sql=“从用户名为“$user”的用户中选择felcredits;
$result=$db_conn->query($sql);
如果($result->num_rows>0){
//每行的输出数据
而($row=$result->fetch_assoc()){
$felcredits=$row['felcredits'];
}
}
$value=$felcredits+$value;
$update=“update user SET felcredits='$value',其中username='$user';
$update2=“从playeritems中删除,其中id='$realid';
if($db\u conn->query($update)==TRUE)&($db\u conn->query($update2)==TRUE)){
echo“
详细信息已更新”;
}否则{
echo“Error:”.$insert.“
”$db_conn->错误;
}
}
您尝试像这样更改完整代码
在执行代码中
if($\u服务器['REQUEST\u方法]]=$\u POST和isset($\u POST['sell'])){
$sql=“从用户名为“$user”的用户中选择felcredits;
$result=$db_conn->query($sql);
如果($result->num_rows>0){
//每行的输出数据
而($row=$result->fetch_assoc()){
$felcredits=$row['felcredits'];
}
}
$value=$felcredits+$value;
$update=“update user SET felcredits='$value',其中username='$user';
$update2=“从playeritems中删除,其中id='$realid';
if($db\u conn->query($update)==TRUE)&($db\u conn->query($update2)==TRUE)){
echo“
详细信息已更新”;
}否则{
echo“Error:”.$insert.“
”$db_conn->错误;
}
}
只需在单独执行时执行即可显示完整代码。添加到底部的完整代码首先使用参数化查询,这对SQL注入是开放的。要在mysqli
中执行多个查询,需要使用multi-query
函数并用分号分隔查询。您目前只执行$update
,对$update2
不执行任何操作。只需在单独执行时执行即可显示完整代码。添加到底部的完整代码首先使用参数化查询,这对SQL注入是开放的。要在mysqli
中执行多个查询,需要使用multi-query
函数并用分号分隔查询。您目前只执行$update
,对$update2
不执行任何操作。这应该是公认的答案,而不是上面的答案。@Ronald没问题,也许Kamata对上面的答案更满意。这应该是公认的答案,而不是上面的答案。@Ronald没问题,也许Kamata更喜欢上面的一个