我知道这个问题已被问了很多,而且我一直在寻找我的问题的答案,但我还没有找到它。
当我运行index.php时,它表示致命错误:在第43行的C:\ xampp \ htdocs \ tugas1 \ m_programKerja.php中调用null上的成员函数query()。我收到错误因为我没有在我的数据库表上插入任何东西?我确实插入了一些数据,但我仍然遇到了这个错误......
这里是代码: koneksiMVC.php
<?php
$mysqli = new mysqli("localhost", "root", "", "praktikumweb");
?>
m_programKerja.php
<?php
class m_programKerja {
public $hasil = array();
private $mysqli;
public function __construct() {
require 'koneksiMVC.php';
}
public function setPogramKerja($nomorProgram, $namaProgram, $suratKeterangan) {
$rs = $this->mysqli->query( "INSERT INTO proker VALUES
($nomorProgram,
'$namaProgram',
'$suratKeterangan')
");
}
public function hapusProgramKerja($nomorProgram) {
$rs = $this->mysqli->query( "DELETE from proker WHERE
nomorProgram = $nomorProgram
");
}
public function editProgramKerja($nomorProgram, $namaProgram, $suratKeterangan) {
$rs = $this->mysqli->query( "UPDATE proker
SET namaProgram = '$namaProgram',
suratKeterangan= '$suratKeterangan'
WHERE nomorProgram = $nomorProgram
");
}
public function getPogramKerja($nomorProgram) {
$rs = $this->mysqli->query( "SELECT * FROM proker
WHERE nomorProgram = $nomorProgram
");
$this->hasil = $rs->fetch_array();
return $this->hasil;
}
public function getSemuaPogramKerja() {
$rs = $this->mysqli->query( "SELECT * FROM proker "); //this is line 43
while ($row = $rs->fetch_assoc()) {
$this->hasil[] = $row;
}
return $this->hasil;
}
}
?>
和index.php
<?php
include_once("c_programKerja.php");
$controller = new c_programKerja();
if (isset($_GET['d'])) {
$controller->delete($_GET['d']);
} else if (isset($_GET['u'])) {
$controller->viewUpdate($_GET['u']);
} else if (isset($_GET['i'])) {
$controller->viewInsert();
} else {
$controller->invoke();
}
?>
答案 0 :(得分:0)
您收到错误是因为您的yposition
对象在您的行上可能为空:$mysqli
...
您确定要包含/执行$rs = $this->mysqli->query(
应该设置koneksiMVC.php
的内容吗?尝试将$mysqli
单独移动到您自己的文档中。而不是从函数调用中的页面加载它。
此外,在您实例化$mysqli = new mysqli("localhost", "root", "", "praktikumweb");
对象后,添加以下行,如下所示:
mysqli
如果存在任何与连接相关的错误并停止执行,则会打印出来。