php函数调用问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 11:06:12
function cartadd()
{
$uid=$_GET["id"];
$sid=$_GET["sid"];
$price=$_GET["price"];
$db->query("insert into ".DIYBOOK0." (pid,p_count,price) values ('$uid','$sid','$price')");
echo("成功");
}

cartadd();
不能运行!
如果把
$uid=$_GET["id"];
$sid=$_GET["sid"];
$price=$_GET["price"];
$db->query("insert into ".DIYBOOK0." (pid,p_count,price) values ('$uid','$sid','$price')");
echo("成功");
代码直接放在页面上可以运行,不知道是什么原因?

函数内部是局部变量。
$db这个等于没赋值,你应该用global语句,将外部变量$db引进函数内部

function cartadd()
{
global $db;
$uid=$_GET["id"];
$sid=$_GET["sid"];
$price=$_GET["price"];
$db->query("insert into ".DIYBOOK0." (pid,p_count,price) values ('$uid','$sid','$price')");
echo("成功");
}

加上 global $db;

变成:
function cartadd()
{
global $db; // 全局变量

$uid=$_GET["id"];
$sid=$_GET["sid"];
$price=$_GET["price"];
$db->query("insert into ".DIYBOOK0." (pid,p_count,price) values ('$uid','$sid','$price')");
echo("成功");
}