关于变量的问题,请高手看看?????????? <?php $a = "asp";$b =& $a;echo "<br>".$b; // 此时$b = 'asp'$a = "php";echo "<br>".$b; // 此时$b = 'php'?> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 HOHO,老大发话了其实在function里也常用到的function test($param1, &$param2) {....}看看手册 》》》 变量 》》》 基础 这一章吧 这个我知道,但我想的意思是 $b = "'$a'",而不是$b = $a;请再看看??我是想写一个sql语句,先写好字段和值的表达式,到后面可能会改变值的变量的值,这样能实现吗?? 建议你用函数吧!定义global应该可以轻松的解决!我试了你这种方法,好久都没有搞定,希望有高手现身!帮你顶! functin get_a_with_quote(){global $a;return "'".$a."'";} 我的初衷是处理用户输入的表单的php文件,在用户输入的数据中,有上传的文件,我要将文件用程序来根据规则自动取名,然后将文件的保存路径放到数据库中,但我不知道用户上传的图片是什么后缀名的,所以要靠程序来判断,然后加上给保存时的文件名。问题是我想做个保存数据的通用函数,然后将需要保存的数据作为参数传给该函数,这样就要改变传入的函数的sql语句中的值,我这样的设计是否正确?在传入的参数中,已经有类似"'$var'"这样的变量,但我要更改它的值怎么才能实现?如果实在不行,那只有在函数中来构建sql语句了,这样做比较麻烦。 唠叨大哥,只提示用eval函数,但没有给出具体的例子,帮你顶!我用eval试不出! 我在函数接收的变量中已经存在"'$var'",这样用eval也是不行的吧,具体我还没试。 eval ("\$b = \""."'".$a."'"."\";");输出为aspasp如果要变成'asp''asp'很容易!但是变成eval ("\$b = \""."'".&$a."'"."\";");就出错! “我在函数接收的变量中已经存在"'$var'",”是什么意思?贴出你的代码! // 定义上传文件的数组$upfile = array ( 0 => array ( "tmpfile" => $_FILES["file"]["tmp_name"]["spic"], "name" => $_FILES["file"]["name"]["spic"], "savename" => $filename, "savepath" => $spic, "fldname" => "spic", ), 1 => array ( "tmpfile" => $_FILES["file"]["tmp_name"]["lpic"], "name" => $_FILES["file"]["name"]["lpic"], "savename" => $filename, "savepath" => $lpic, "fldname" => "lpic", ) );// $pic 为用户上传的file的值$addflds = "goono,catno,name,supno,buyno,spic,lpic,ctime";$addvals = "'$goono','$catno','$name','$supno','$buyno','$spic','$lpic',now()";// 以下是函数内部的代码if(is_array($upfile)){ for($i = 0; $i < count($upfile); $i++) { ${$upfile[$i]["fldname"]} = $upfile[$i]["savepath"]; $fldvalue = SaveUpFile($upfile[$i]["tmpfile"],$upfile[$i]["name"],$upfile[$i]["savename"],$upfile[$i]["savepath"]); ${$upfile[$i]["fldname"]} .= "/".$fldvalue; }}$sqlstr = "insert into $table ";$sqlstr .= "($addflds)";$sqlstr .= " values ($addvals)";下面运行sql语句 在SaveUpFile函数中,我将保存好的文件名返回,即$fldvalue的值是改变过的,我输出${$upfile[$i]["fldname"]}是正确的,但不能改变下面的$sqlstr中的"'$spic'"和"'$lpic'"的值。 真的不知你在说什么?$sqlstr = "insert into $table "; //即便你的目标表会改变$sqlstr .= "($addflds)"; //目标字段也会改变吗?$sqlstr .= " values ($addvals)";//数据总应该用“''”括起吧? sql语句这样写:$sqlstr = "insert into ".$table."(".$addflds.") values (".$addvals.")"; 我在$addflds和$addvals中已经赋好值了如:$addflds = "fld1,fld2" $addvals = "'$val1','$val2'"我是想更改$addvals 中的'$val1'的值。 $addvals = "'$val1','$val2'" ???如果$val1、$val2是需要动态修改的变量,那么要写作$addvals = "'\$val1','\$val2'";引用时写作$sqlstr .= " values (".eval("return \"$addvals\";").")"; $addvals=str_replace(fld1,"'$val1'",$addvals);$addvals=str_replace(fld2,"'$val2'",$addvals); 关于php的采集程序,怎么截取网页中的链接及标题 实习生的迷茫,牛人指点下 获取通过搜索引擎进入时的关键字。急,在线等! php 中文输出变问号???? php向文本框内写入变量的值;点击链接时如何用include打开另一个页面,因需session传值; 关于读cookie的问题 php的兼容性 linux下关于apache+php+mysql 请问如何计算字符串长度? 各位大神,求教一个php网站问题!一个论坛需要每天自动随机赠送给用户积分,应该如何解决? 我遇到一个问题,大家帮忙看看,关于服务器配置问题 跪求高手帮忙,我想偷却偷不到.
其实在function里也常用到的function test($param1, &$param2) {
....
}看看手册 》》》 变量 》》》 基础 这一章吧
我是想写一个sql语句,先写好字段和值的表达式,到后面可能会改变值的变量的值,这样能实现吗??
定义global应该可以轻松的解决!
我试了你这种方法,好久都没有搞定,希望有高手现身!帮你顶!
global $a;
return "'".$a."'";
}
问题是我想做个保存数据的通用函数,然后将需要保存的数据作为参数传给该函数,这样就要改变传入的函数的sql语句中的值,我这样的设计是否正确?
在传入的参数中,已经有类似"'$var'"这样的变量,但我要更改它的值怎么才能实现?
如果实在不行,那只有在函数中来构建sql语句了,这样做比较麻烦。
我用eval试不出!
输出为
asp
asp
如果要变成
'asp'
'asp'很容易!
但是变成eval ("\$b = \""."'".&$a."'"."\";");
就出错!
$upfile = array
(
0 => array
(
"tmpfile" => $_FILES["file"]["tmp_name"]["spic"],
"name" => $_FILES["file"]["name"]["spic"],
"savename" => $filename,
"savepath" => $spic,
"fldname" => "spic",
),
1 => array
(
"tmpfile" => $_FILES["file"]["tmp_name"]["lpic"],
"name" => $_FILES["file"]["name"]["lpic"],
"savename" => $filename,
"savepath" => $lpic,
"fldname" => "lpic",
) );
// $pic 为用户上传的file的值
$addflds = "goono,catno,name,supno,buyno,spic,lpic,ctime";
$addvals = "'$goono','$catno','$name','$supno','$buyno','$spic','$lpic',now()";// 以下是函数内部的代码if(is_array($upfile))
{
for($i = 0; $i < count($upfile); $i++)
{
${$upfile[$i]["fldname"]} = $upfile[$i]["savepath"];
$fldvalue = SaveUpFile($upfile[$i]["tmpfile"],$upfile[$i]["name"],$upfile[$i]["savename"],$upfile[$i]["savepath"]);
${$upfile[$i]["fldname"]} .= "/".$fldvalue;
}
}$sqlstr = "insert into $table ";
$sqlstr .= "($addflds)";
$sqlstr .= " values ($addvals)";下面运行sql语句
$sqlstr = "insert into $table "; //即便你的目标表会改变
$sqlstr .= "($addflds)"; //目标字段也会改变吗?
$sqlstr .= " values ($addvals)";//数据总应该用“''”括起吧?
如:$addflds = "fld1,fld2"
$addvals = "'$val1','$val2'"
我是想更改$addvals 中的'$val1'的值。
如果$val1、$val2是需要动态修改的变量,那么要写作
$addvals = "'\$val1','\$val2'";
引用时写作
$sqlstr .= " values (".eval("return \"$addvals\";").")";
$addvals=str_replace(fld2,"'$val2'",$addvals);