無論我試圖修復它們多少,我都會遇到這些問題。 我正在處理Html可視化編輯器CMS,每次我登錄這些錯誤顯示。 希望這篇文章清晰易懂。如果不問我,我會盡我所能來回答你。 下面是錯誤的:
call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object
Call to a member function execute() on boolean
下面的代碼:提前
class database{
public $root_db = 'cms';
public $server_name = 'localhost:3306';
public $root_db_user = 'root';
public $root_db_pass = '';
public $connection;
public $error = false;
function connect_to_db(){
$this->connection = new mysqli($this->server_name,$this->root_db_user,$this->root_db_pass,$this->root_db);
if($this->connection->connect_error){
$this->error = "Connection Failed: " . $this->connection->connect_error;
}
}
function executeCleanQuery($query,$params){
$type_string = '';
$param_arr = array();
if(!empty($params)){
for($i = 0; $i < count($params); $i++){
$type = gettype($params[$i]);
$type_string .= $type[0];
$param_arr[$i] = $this->connection->real_escape_string(htmlentities($params[$i]));
}
array_unshift($param_arr,$type_string);
if(!$stmt = $this->connection->prepare($query))
$error = "Unable to prepare statement";
call_user_func_array(array($stmt,"bind_param") ,$this->refValues($param_arr));
if (!$stmt->execute())
$error = "Unable to execute statement";
$result = $stmt->get_result();
if($result && (strstr($query,"SELECT") || strstr($query,"select")))
return $result->fetch_all(MYSQLI_ASSOC);
else{
return $this->connection->insert_id;
}
}else if(strstr($query,"SELECT") || strstr($query,"select")){
$result = $this->connection->query($query);
return $result->fetch_all(MYSQLI_ASSOC);
}else{
return true;
}
}
function refValues($arr){
if (strnatcmp(phpversion(),'5.3') >= 0) //Reference is required for PHP 5.3+
{
$refs = array();
foreach($arr as $key => $value)
$refs[$key] = &$arr[$key];
return $refs;
}
return $arr;
}
}
和感謝。
'對不起,長頭銜哈哈。我討厭告訴你,但那個完全可怕的頭銜會殺死你的問題。它要麼被低估並關閉(並最終被刪除),否則將被忽略。努力寫出一個有意義的標題來真正解釋你的問題,或者期望遇到問題。這次你可能會得到一個答案,但它會在未來的事件中給你帶來問題 – psubsee2003
對此很抱歉。 –