我试图做到这一点:PHP - 另一个类中调用函数 - >功能
class database {
function editProvider($post)
{
$sql = "UPDATE tbl SET ";
foreach($post as $key => $val):
if($key != "providerId")
{
$val = formValidate($val);
$sqlE[] = "`$key`='$val'";
}
endforeach;
$sqlE = implode(",", $sqlE);
$where = ' WHERE `id` = \''.$post['id'].'\'';
$sql = $sql . $sqlE . $where;
$query = mysql_query($sql);
if($query){
return true;
}
}
//
}//end class
,然后使用此功能*另一个类的INSIDE *:
function formValidate($string){
$string = trim($string);
$string = mysql_real_escape_string($string);
return $string;
}
//
。 。on $ val。为什么这不起作用?如果我在表单的一个字段中写字,那么它根本就不会逃脱。怎么可能?
* UPDATE * handler.php:
if(isset($_GET['do'])){
if($_GET['do'] == "addLogin")
{
$addLogin = $db->addLogin($_POST);
}
if($_GET['do'] == "addProvider")
{
$addProvider = $db->addProvider($_POST);
}
if($_GET['do'] == "editProfile")
{
$editProfile = $db->editProfile($_POST);
}
if($_GET['do'] == "editProvider")
{
$editProvider = $db->editProvider($_POST);
}
}
//end if isset get do
**的editProvider功能工作正常,除了这个:-) **
你在哪里声明的两个函数(不同班)? – ComFreek
很难看出问题是因为你说它是在一个类中调用一个函数,但你只提供了两个函数而没有类。它很难看到范围,你也可以尝试在formValidate函数的开始和结尾放置一个回声来查看它是否实际调用它。请尝试提供此调试信息。谢谢! – jakx
我已经添加了不同的类,其中的函数在里面。 editProvider在类数据库中,formValidate在类验证中。这对你有帮助吗? – skolind