如何升级php数据中的名称
我在一家传销公司的网站上工作,在那里我需要设计一个升级,在添加5个成员后,成员的状态从一步升级到更高。每个成员都必须升级到更高级别。我有一些代码,但我不知道如何调用此功能 这是我的密码:-如何升级php数据中的名称,php,Php,我在一家传销公司的网站上工作,在那里我需要设计一个升级,在添加5个成员后,成员的状态从一步升级到更高。每个成员都必须升级到更高级别。我有一些代码,但我不知道如何调用此功能 这是我的密码:- function CheckAndUpgradeDesignation($username,$des) { if($des=='Crown') return; $q="SELECT introducer_id FROM members WHERE user_id='$usern
function CheckAndUpgradeDesignation($username,$des)
{
if($des=='Crown')
return;
$q="SELECT introducer_id FROM members WHERE user_id='$username'";
$rs=mysql_query($q);
$r=mysql_fetch_array($rs);
$id=$r['introducer_id'];
$q="SELECT count(*) as total from members WHERE introducer_id='$id' AND designation='$des'";
$rs1=mysql_query($q);
$r1=mysql_fetch_array($rs1);
$t=$r1['total'];
if($t==5)
{
if($des=="VIP")
$des1="Journey";
else
if($des=="Journey")
$des1="Executive";
else
if($des=="Executive")
$des1="DreamFlight";
else
if($des=="DreamFlight")
$des1="Safari";
else
if($des=="Safari")
$des1="GoldRace";
else
if($des=="GoldRace")
$des1="RoyalRace";
else
if($des=="RoyalRace")
$des1="Aashiyana";
else
if($des=="Aashiyana")
$des1="Crown";
$q="UPDATE members SET designation='$des1' WHERE user_id='$id'";
mysql_query($q);
CheckAndUpgradeDesignation($id,$des1);
}
}
请检查任何人该代码是否正确或是否需要更改…………如果您有问题,请询问我:
CheckAndUpgradeDesignation('1','GoldRace')代码>
您还可以将函数参数$username
重命名为$userid
,因为SQL使用用户id
请正确转义插入SQL语句中的值,以避免注入
可以将函数重构为3个函数:
fetchDesignation($user\u id)-返回用户id的指定
raiseDesignation($des)-这是升级并返回新级别或false的逻辑部分
updateDesignation($user_id,$des)-将新级别插入数据库
这个建议有点灵活,但它取决于用例。
它允许在单独的单元测试中测试raiseDesignation()的逻辑,而无需接触数据库。另外,获取用户id的名称现在是分开的。我可以重构代码,将一些重要任务分开。另一方面,我建议您不要试图编写包含大量代码的大型函数,因为这不容易理解
<?php
function CheckAndUpgradeDesignation($userId, $designation)
{
if ($designation == 'Crown') {
return;
}
$introducerId = GetIntroducerIdByUserId($userId);
$memberTotal = GetTotalOfMembersByIntroducerIdAndDesignationId($introducerId, $designation);
if ($memberTotal == 5) {
$designationValue = VerifyDesignation($designation);
UpdateDesignation($designationValue, $introducerId);
CheckAndUpgradeDesignation($introducerId, $designationValue);
}
}
function VerifyDesignation($designation)
{
$designationList = array(
'VIP' => 'Journey',
'Journey' => 'Executive',
'Executive' => 'DreamFlight',
'DreamFlight' => 'Safari',
'Safari' => 'GoldRace',
'GoldRace' => 'RoyalRace',
'RoyalRace' => 'Aashiyana',
'Aashiyana' => 'Crown'
);
if (key_exists($designation, $designationList)) {
return $designationList[$designation];
}
return null;
}
function GetIntroducerIdByUserId($id)
{
$query = "SELECT introducer_id FROM members WHERE user_id='$id'";
$result = mysql_query($query);
$response = mysql_fetch_array($result);
return $response['introducer_id'];
}
function GetTotalOfMembersByIntroducerIdAndDesignationId($introducerId, $designation)
{
$query = "SELECT count(*) as total from members WHERE introducer_id='$introducerId' AND designation = '$designation'";
$result = mysql_query($query);
$response = mysql_fetch_array($result);
return $response['total'];
}
function UpdateDesignation($designationValue, $introducerId)
{
$query = "UPDATE members SET designation='$designationValue' WHERE user_id = '$introducerId'";
mysql_query($query);
}
代码不好,第5行sql注入