[英]Fatal error: Call to undefined method
我正在學習如何在php中使用類
我試圖在我的數據庫中插入信息,但它給了我這個錯誤
致命錯誤:在第7行的C:\\ xampp \\ htdocs \\ kapa \\ classes \\ lol.php中調用未定義的方法Produto :: introduzirProduto()
連接代碼:
<?php
class dbConnect{
private $db_host;
private $db_user;
private $db_pass;
private $emp_db = "mydb";
var $connection;
var $db_select;
var $result;
var $row;
function __construct(){
$this->db_host = "localhost";
$this->db_user = "root";
$this->db_pass = "";
}
function connect(){
$this->connection = mysql_connect($this->db_host, $this->db_user, $this->db_pass); //create connection
checkErr($this->$connection);
$this->db_select = mysql_select_db($this->emp_db, $connection);
checkErr($this->db_select);
}
}
?>
形成:
<?php
require_once 'introduzir.class.php';
?>
<form action="lol.php" method="POST" id="">
<input type="text" name="id"/>
<input type="submit" value="ok.." />
</form>
插入代碼
<?php
require_once('conectar.php');
class Produto extends dbConnect {
var $bd;
}
function Produto() {
global $emp_db, $db_user, $db_pass, $db_host;
$this->bd = new dbConnect();
$this->bd->ligarBD($emp_db, $db_user, $db_pass, $db_host);
}
function introduzirProduto($id) {
$sql = "INSERT INTO produto VALUES ('$id')";
if($this->bd->executarSQL($sql)) return true;
else return false;
}
?>
<?php
require_once 'introduzir.class.php';
if($_REQUEST['id']!="") {
$produto = new Produto();
if($produto->introduzirProduto($_REQUEST['id'])) {
echo "Registo efectuado com sucesso !!!<br>";
} else {
echo "Problema encontado no Registo !!!<br>";
}
} else {
echo "ERRO: Deve introduzir a sua password...<br>";
}
?>
我需要改變什么?
您創建的名為Produto的類沒有任何功能,定義了$bd
變量,然后結束了該類的定義。 您需要在變量聲明之后刪除該花括號並將其放在函數之后,如下所示:
<?php
require_once('conectar.php');
class Produto extends dbConnect {
var $bd;
function Produto() {
global $emp_db, $db_user, $db_pass, $db_host;
$this->bd = new dbConnect();
$this->bd->ligarBD($emp_db, $db_user, $db_pass, $db_host);
}
function introduzirProduto($id) {
$sql = "INSERT INTO produto VALUES ('$id')";
if($this->bd->executarSQL($sql)) return true;
else return false;
}
}
?>
附帶說明一下,您有一個以大寫字母開頭的函數,一個沒有大寫字母的函數,請嘗試遵循更嚴格的命名約定,例如:始終以小寫字母開頭,之后使用大寫字母的單詞字母(與第二功能一樣)
你已經關閉了括號為您Produto
函數的定義之前類Produto()
和introdizirProduto()
我強烈建議您適當縮進代碼,以免將來出現類似錯誤。
<?php
require_once('conectar.php');
class Produto extends dbConnect {
public $bd;
function Produto() {
global $emp_db, $db_user, $db_pass, $db_host;
$this->bd = new dbConnect();
$this->bd->ligarBD($emp_db, $db_user, $db_pass, $db_host);
}
function introduzirProduto($id) {
$sql = "INSERT INTO produto VALUES ('$id')";
if($this->bd->executarSQL($sql)) return true;
else return false;
}
}
//Rest of your code follows.
?>
PS : var
在PHP中已棄用,請避免使用。\\
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.