错误插入PHP
我开始学习OOPHP,我有一些问题 在下面的代码中,我尝试在银行中进行一次插入。这很简单,但我已经有问题了 当我尝试发送时,出现以下错误:错误插入PHP,php,mysql,oop,insert,Php,Mysql,Oop,Insert,我开始学习OOPHP,我有一些问题 在下面的代码中,我尝试在银行中进行一次插入。这很简单,但我已经有问题了 当我尝试发送时,出现以下错误: 致命错误:在第24行的C:\test\web\testoo\Aluno.Controle.php中对非对象调用成员函数query() Aluno.class.php <?php Class Aluno{ private $cpf; public function setCPF($cpf) { $this->cp
致命错误:在第24行的C:\test\web\testoo\Aluno.Controle.php中对非对象调用成员函数query()
Aluno.class.php
<?php
Class Aluno{
private $cpf;
public function setCPF($cpf)
{
$this->cpf = $cpf;
}
public function getCPF()
{
return $this->cpf;
}
}
?>
Aluno.Controle.php
<?php
include ('Aluno.class.php');
include ('Banco.php');
$cpf=$_POST['cpf'];
Class AlunoControle {
private $consulta;
public function AlunoDao() {
$novaconexao = new Banco();
$this->consulta = $novaconexao->conectar();
}
public function CadastrarAluno($cpf) {
$this->AlunoDao();
$cadastrar = new Aluno;
$cadastrar->setCPF($cpf);
$query = ("INSERT into cadastro values (". $aluno->getCPF() .")");
$this->consulta->query($query);
}
}
$pessoa2 = new AlunoControle();
$pessoa2->CadastrarAluno($cpf);
在调用cadastraluno
之前,您没有将值设置为私有财产$consulta
请尝试以下代码:
Class AlunoControle {
private $consulta;
public function __construct() {
$novaconexao = new Banco();
$this->consulta = $novaconexao->conectar();
}
public function CadastrarAluno($cpf) {
$this->AlunoDao();
$cadastrar = new Aluno;
$cadastrar->setCPF($cpf);
if ($this->consulta->query("INSERT into cadastro values (".$aluno->getCPF().")")) {
}
}
}
在这段代码中,您在类构造函数中将值设置为propertyconsulta
。这应该是
public function __construct() {
$novaconexao = new Banco();
$this->consulta = $novaconexao->conectar();
}
$this->consulta
将在创建对象时初始化从错误消息中可以看到,$this->consulta
属性未设置为对象
这意味着当您执行以下操作时,出现了一些问题:
$novaconexao = new Banco();
$this->consulta = $novaconexao->conectar();
因此,要么是conectar()
方法没有返回对象,要么很可能是由于某种原因与数据库的连接失败。对象“Banco”中有方法“query”吗?好的,不要看到错误的构造函数…这意味着$this->consulta
不是有效的数据库连接对象。Debug why.OT:代码中有一个未经scaped的变量($cpf=$\u POST['cpf']
),它将导致SQL注入$此->咨询->查询($query);现在出现错误:注意:未定义变量:第24行C:\test\web\testoo\aluno.Controle.php中的aluno致命错误:在第24行C:\test\web\testoo\aluno.Controle.php中的非对象上调用成员函数getCPF()。关于您发布的第一个错误,添加:return$MySQLi;这样,它将返回调用query()方法所需的对象。关于第二个错误,请将$aluno替换为$CADASTRALHELLO,抱歉,请稍候。我尝试但现在保留错误:致命错误:在第20行的C:\test\web\testoo\Aluno.Controle.php中调用未定义的方法AlunoControle::AlunoDao()
public function __construct() {
$novaconexao = new Banco();
$this->consulta = $novaconexao->conectar();
}
$novaconexao = new Banco();
$this->consulta = $novaconexao->conectar();