Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新记录然后删除_Php_Mysql - Fatal编程技术网

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更喜欢上面的一个