我試圖做到這一點: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