Fatal error: Uncaught ArgumentCountError: Too few arguments to function Insert::__construct()
Ik ben bezig met een OOP script, echter krijg ik de volgende melding
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Insert::__construct(), 0 passed in C:\xampp\htdocs\INSERT\index.php on line 57 and exactly 1 expected in C:\xampp\htdocs\INSERT\core.php:13 Stack trace: #0 C:\xampp\htdocs\INSERT\index.php(57): Insert->__construct() #1 {main} thrown in C:\xampp\htdocs\INSERT\core.php on line 13
Op het moment van schrijven heb ik drie bestanden aangemaakt.
- Core (bevat de insert class)
- databaseconnect.php (bevat connectie naar MariaDB)
- Index.php (roept insert classe aan)
Core.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
include 'databaseconnect.php';
class Insert
{
protected $dbConnection;
protected $title;
protected $Publisher;
protected $Genre;
protected $VisibleInStore;
public function __construct(PDO $dbConnection)
{
$this->dbCOnnection = $dbConnection;
}
public function Add($title, $Publisher, $Genre, $VisibleInStore)
{
$stmt = $this->dbConnection->prepare('INSERT INTO `game` ( `Title`, `Publisher`, `Genre`, `VisibleInStore`) VALUES ("$title" , "$Publisher", "$Genre", "$VisibleInStore")');
return exec($stmt);
$conn = null;
}
}
?>
include 'databaseconnect.php';
class Insert
{
protected $dbConnection;
protected $title;
protected $Publisher;
protected $Genre;
protected $VisibleInStore;
public function __construct(PDO $dbConnection)
{
$this->dbCOnnection = $dbConnection;
}
public function Add($title, $Publisher, $Genre, $VisibleInStore)
{
$stmt = $this->dbConnection->prepare('INSERT INTO `game` ( `Title`, `Publisher`, `Genre`, `VisibleInStore`) VALUES ("$title" , "$Publisher", "$Genre", "$VisibleInStore")');
return exec($stmt);
$conn = null;
}
}
?>
databaseconnection.php
Code (php)
1
2
3
2
3
<?php
$dbConnection = new PDO('mysql:host=localhost;dbname=gameplanet', 'root', '');
?>
$dbConnection = new PDO('mysql:host=localhost;dbname=gameplanet', 'root', '');
?>
index.php
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
include 'core.php';
$insert = new Insert();
$insert->Add('title', 'Publisher', 'Genre', 'VisibleInStore')
?>
include 'core.php';
$insert = new Insert();
$insert->Add('title', 'Publisher', 'Genre', 'VisibleInStore')
?>
meer informatie over de exec()-functie.
De foutmelding krijg je omdat je in index.php de Insert-class aanroept zonder een PDO-object mee te geven, dit geef je op regel 13 van Core.php aan.
Misschien ga je iets te hard van stapel?
Edit:
Het volgende stukje van regel 26 zal ook niet werken.
De variable $conn bestaat namelijk niet in je method.
Kijk eens naar regel 26, deze klopt sowieso al niet, De foutmelding krijg je omdat je in index.php de Insert-class aanroept zonder een PDO-object mee te geven, dit geef je op regel 13 van Core.php aan.
Misschien ga je iets te hard van stapel?
Edit:
Het volgende stukje van regel 26 zal ook niet werken.
De variable $conn bestaat namelijk niet in je method.
Gewijzigd op 24/01/2018 19:37:09 door Marthijn Buijs