gpt4 book ai didi

php - 创建变量变量的函数不起作用

转载 作者:行者123 更新时间:2023-11-30 22:41:33 40 4
gpt4 key购买 nike

我正在尝试使用一个函数为我正在制作的 SQL 语句制作我的所有变量,以减少代码长度。不幸的是,这根本不起作用。

我得到的结果是 $sql 以值 -45 结尾。我不确定自己做错了什么,但我相信变量声明存在问题。但是,您可以在函数内部看到的 echo 语句准确地打印了变量应该如何打印。也许我需要返回?

/*
/ Get Variables
*/
function get($fname,$disp)
{
$NAME = $fname;
$$NAME = $_GET[$NAME];
echo $disp . ' : <font color="00ff00">' . $$NAME . '</font><br>';
}

get("User-ID","User-ID");
get("toon","Name");
get("C_Select","Class");
get("P-Level","P-Level");
get("Sex","Gender");
get("Race","Race");
get("P-Gs","Gearscore");
get("Str-Input","Strength");
get("Int-Input","Intelligence");
get("Con-Input","Constitution");
get("Wis-Input","Wisdom");
get("Dex-Input","Dexterity");
get("Chr-Input","Charisma");
get("HP","Health");
get("AC","Armor Class");
get("Power-S","Power");
get("Def","Defense");
get("Prof-1","Alchemy");
get("Prof-2","Artificing");
get("Prof-3","Jewelcrafting");
get("Prof-4","Leadership");
get("Prof-5","Leatherworking");
get("Prof-6","Medium Armoring");
get("Prof-7","Heavy Armoring");
get("Prof-8","Tailoring");
get("Prof-9","Weaponsmithing");
get("Crit","Critical Strike Rating");
get("Recov","Recovery");
get("AP","Armor Penetration");
get("Regen","Regeneration");
get("HS","Life Steal");
get("Defl","Deflection");
get("Move","Movement");


$sql = 'INSERT INTO def_nwgr_chars (user_id,name,race,level,sex,str,con,dex,int,wis,char,hit_points,ac,power,defense,crit,recovery,ap,regen,life_steal,deflection,movement,alchemy,artificing,jewelcrafting,leadership,leatherworking,mailsmithing,platesmithing,tailoring,weaponsmithing) VALUES (' . $User-ID . ',' . $toon . ',' . $Race . ',' . $P-Level . ',' . $Sex . ',' . $Str-Input . ',' . $Con-Input . ',' . $Dex-Input . ',' . $Int-Input . ',' . $Wis-Input . ',' . $Chr-Input . ',' . $HP . ',' . $AC . ',' . $Power-S . ',' . $Def . ',' . $Crit . ',' . $Recov . ',' . $AP . ',' . $Regen . ',' . $HS . ',' . $Defl . ',' . $Move . ',' . $Prof-1 . ',' . $Prof-2 . ',' . $Prof-3 . ',' . $Prof-4 . ',' . $Prof-5 . ',' . $Prof-6 . ',' . $Prof-7 . ',' . $Prof-8 . ',' . $Prof-9 . ');';

最佳答案

据我所知,有几个问题:

首先,您使用 $$NAME 创建的变量仅在函数长度范围内,因此您不能在函数外部引用它们而不以某种方式返回它们。

其次,您正在尝试使用其中包含运算符的变量名。即,“-”号。这(据我所知)是无效的。

第三,如果没有以某种方式确保其他人无法任意向其中插入数据,则不应将变量直接放入 SQL 中。

最后,尽可能不要使用 $$。它很难调试,并且会导致一些偷偷摸摸的错误和编程错误。

关于php - 创建变量变量的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31011991/

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