PHP4变量在范围更改时丢失值
我已经尝试了所有我能想到的全局和超全局的组合。我没办法把价值转移过来。 我从MySQL select中提取PHP4变量在范围更改时丢失值,php,mysql,forms,scope,php4,Php,Mysql,Forms,Scope,Php4,我已经尝试了所有我能想到的全局和超全局的组合。我没办法把价值转移过来。 我从MySQL select中提取$uid,并将其分配给一个整数值。正如您在代码开头看到的,结尾的大括号是包含$uid值的IF语句的结尾 如何在所有作用域中为$uid分配相同的值 这已经折磨了我两天了。如果这看起来很简单,我很抱歉,但这会让我发疯的。我尝试了$GLOBALS['uid']但没有效果。您可以尝试在全局范围内声明一次setter/getter函数,但它所做的只是访问全局函数 echo $uid; // RETUR
$uid
,并将其分配给一个整数值。正如您在代码开头看到的,结尾的大括号是包含$uid
值的IF语句的结尾
如何在所有作用域中为$uid
分配相同的值
这已经折磨了我两天了。如果这看起来很简单,我很抱歉,但这会让我发疯的。我尝试了
$GLOBALS['uid']
但没有效果。您可以尝试在全局范围内声明一次setter/getter函数,但它所做的只是访问全局函数
echo $uid; // RETURNS INTEGER VALUE
if (isset ( $_POST ['cashpaid'] )) {
$queryfinal = "select * from " . $db_prefix . "customer_det
where `id` = '$uid'"; // UID RETURNS NULL
....
然后,不要回显$uid
,而是尝试globalUid($uid)
,稍后再尝试$saved_uid=globalUid()代码>
但我认为这两个作用域可能在两个不同的调用中执行,因此您可能需要将UID保存在会话变量中。如果您的代码显示的与您在问题中包含它的方式完全相同,则回显时间$UID
与将其附加到查询中的时间之间的作用域没有区别。@Vulcan,也没有“结束卷曲括号”。我想他只是忘了粘贴。不,我有一个结尾的大括号,但被国防部删掉了
function globalUid($value = False)
{
GLOBAL $__uid;
if (!isset($__uid))
$__uid = False;
if (False === $value)
return $__uid;
$__uid = $value;
}