if(empty($wxch_user_wxid)) 
{
if(empty($wxch_user_name)) 
{
$wxch_nobd_wxid_sql = "SELECT `wxid` FROM `$thistable` WHERE `wxch_bd`='no' AND `wxid` = '$fromUsername'";
$wxch_nobd_wxid = $db->getOne($wxch_nobd_wxid_sql);
if(empty($wxch_nobd_wxid)) 
{
    $email='';
$ip = $_SERVER['REMOTE_ADDR'];
$salt = substr(uniqid(rand()), -6);
                     $password = md5(md5($ec_pwd2).$salt);
 $time=time();
 $user_prefix=$db->getOne("SELECT `cfg_value` FROM `wxch_cfg` WHERE `cfg_name` = 'user_prefix'");
 $user_name=$user_prefix.$pre_id.rand(100000,999999);
 $uc_username=$this->chkuser($db,$user_name);
 
$db->query('INSERT INTO '. UC_DBTABLEPRE ."members (username,password,email,regdate,regip,salt) values('$uc_username','$password','$email',$time,'$ip','$salt')");

$ecs_user_id = $db->insert_id();
//这里exit()有效

$db->query("INSERT INTO `$thistable` ( `user_id`,`user_name`,`password`,`wxid`,`user_rank`,`wxch_bd`) VALUES ('$ecs_user_id','$uc_username','$ec_pwd','$fromUsername','99','no')");
//执行成功
//执行之后 'if(empty($wxch_user_wxid)) {}'定义过的局部变量全部消失即使定义常量一样丢失
/*$contentStr = $uc_username.'+++'.$ec_pwd2;
$msgType="text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
$this->insert_wmessage($db, $fromUsername, $contentStr, $time, $belong);
$this->universal($fromUsername,$base_url);
echo $resultStr;
exit;
*/


}
}问题就像注释里所说的一样
求指教这段代码出了什么问题?