$q2=$_REQUEST['binge'];
'book2'=>array('callno'=>123006,'price'=>number_format(844,2),'desc'=>'Binge','auth'=>'Tyler Oakley','quant'=>$q2,'total'=>number_format(844,2)*$q2)
在这个特定的代码上,它一直显示如下错误
警告:第97行的C:\ xampp \ htdocs \ Webcard_3new \ Webcard \ wishlist.php中遇到非数字值
我在网上搜索找到了正确的答案,但是有些事情要理解得那么复杂......
它应该是$ q2是数组中的变量。然后将该变量乘以“TOTAL”。但错误仍在继续......请帮助!!
答案 0 :(得分:4)
超级全局变量将永远是字符串。您需要使用intval()
显式转换它们:
$q2 = intval($_REQUEST['binge']);
此外,这一行:
'book2'=>array...
应该是
$book2 = array...
答案 1 :(得分:0)
您可以使用
$q2 = filter_var($_REQUEST['binge'], FILTER_VALIDATE_INT);
在这里,您将获得验证的好处,当有人传递非整数值时返回false
。如果是浮点数,则改为使用FILTER_VALIDATE_FLOAT
。
另外,请考虑直接使用$_GET
或$_POST
来更好地控制数据通道。 $ _REQUEST将多个内容组合成一个,当多个通道具有相同的密钥时,有时可能会导致问题。