我有一个包含用户信息的数据表和一个名为“Bits”的列。有一个传输功能,我想将 x 数量的位从登录用户传输到他们指定的用户。我有以下可用的函数,但我想知道是否有更好(更简单、更清洁、更快?)的方法来完成所有这些工作,并可能在最后返回第一个 SQL 语句的行。无论如何,我都不是高级 MySQL 用户,但我很确定我缺少一个可以使这变得更容易的功能。
function transferBits($toid, $amount)
{
global $loggedInUser, $db;
$fromid = $loggedInUser->user_id;
$sql = "INSERT INTO `dl_Transfers` SET From_ID = '".$db->sql_escape($fromid)."',
`To_ID`='".$db->sql_escape($toid)."',
`Bits`='".$db->sql_escape($amount)."',
`When`=Now()";
$result = $db->sql_query($sql);
$sql2 = "UPDATE `dl_Users` SET Bits = Bits - '".$db->sql_escape($amount)."' WHERE `User_ID` = '".$db->sql_escape($fromid)."'";
$result2 = $db->sql_query($sql2);
$sql3 = "UPDATE `dl_Users` SET Bits = Bits + '".$db->sql_escape($amount)."' WHERE `User_ID` = '".$db->sql_escape($toid)."'";
$result3 = $db->sql_query($sql3);
}