gpt4 book ai didi

php - 为什么 php mysql update 返回成功但从未更新列?

转载 作者:行者123 更新时间:2023-11-30 22:32:58 24 4
gpt4 key购买 nike

我的基本目标是更新单行,如果成功,它将在不同的表中插入一些数据。

这是我的问题

$upd = mysql_query("UPDATE request_tbl SET status='1' WHERE sender='$user_id' AND reciever='$id'", $con);

if($upd){
$result = mysql_query("INSERT INTO contact_tbl (id, friend_id) VALUES ('$user_id', '$id')", $con);
$result2 = mysql_query("INSERT INTO contact_tbl (id, friend_id) VALUES ('$id', '$user_id')", $con);

if($result && $result2){
$jsonresult = $myFunctions->jsonRequest("Sent Request");
}
else{
$jsonresult = $myFunctions->jsonRequest("Failed Request");

}

}

注意:场景是我正在使用 android 应用程序将数据更新到网络服务器,

当我尝试使用它来测试查询时。

http://----/-----.php?req=accept&user-id=5&id=1

我收到一条成功消息和更新,并将数据插入数据库。然而,当我尝试从应用程序发送请求时,它会返回一条成功消息并插入数据,这意味着更新成功但在数据库中它从未更新过。

我还尝试将列状态的数据类型更改为 int 或 varchar,但仍然具有相同的效果,奇怪的是插入被执行但更新从未发生过,或者曾经发生过?

编辑! ! !我确实尝试了所有推荐的解决方案,如 mysql_affected_rows() > 0 并回显查询但没有运气..正如每个人推荐/插入:)我将尝试将查询转换为 PDO 或 mysqli 感谢大家的帮助。

**编辑2! ! ! **

我试图将我的查询转换为 PDO这是我的代码

    $upd = $con->prepare("UPDATE request_tbl SET `status`='1' WHERE `sender`='$user_id' AND `reciever`='$id' AND `status`='0'");

try{
$upd->execute();
$result = $con->prepare("INSERT INTO contact_tbl (id, friend_id) VALUES (?, ?)");
$result->bindParam(1, $user_id);
$result->bindParam(2, $id);
$result2 = $con->prepare("INSERT INTO contact_tbl (id, friend_id) VALUES (?, ?)");
$result2->bindParam(1, $id);
$result2->bindParam(2, $user_id);

try{
$result->execute();
$result2->execute();
$jsonresult = $myFunctions->jsonRequest("Sent Request");
}
catch(PDOException $e){
$jsonresult = $myFunctions->jsonRequest("Failed Request");
}
}
catch(PDOException $e){
$jsonresult = $myFunctions->jsonRequest("Failed Request");
}

echo $jsonresult;

但我收到相同的结果,每当我尝试使用 url 方法时,更新和插入都成功并具有正确的值,但是当我使用应用程序执行时,更新和插入返回成功并且插入具有正确的值但是更新并没有改变我正在改变的列..

最佳答案

使用 mysql_affected_rows() 检查受影响的行数。试试这个,

if(mysql_affected_rows()){
// your stuff here.
}

关于php - 为什么 php mysql update 返回成功但从未更新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com