Beoordelen config (mysqli)
Omdat ik overal lees dat mysql binnenkort mysqli word in PHP taal maak ik nieuwe config bestanden, ik heb nog NOOIT met mysqli gewerkt dus ik wil graag weten of ik die goed script en zo nee, hoe dan wel? Ik hoor graag van jullie. Alvast bedankt
config.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
session_start();
error_reporting(-1);
$sql_login = array (
'host' => 'localhost',
'user' => 'vervang deze tekst binnen de aanhalingstekens in je Gebruikersnaam voor de SQL(i) database',
'pass' => 'vervang deze tekst binnen de aanhalingstekens in je Wachtwoord voor de SQL(i) database',
'data' => 'Dit is de database waar je de gegevens terug in wilt vinden'
);
$link = mysqli::__construct($sql_login['host'], $sql_login['user'], $sql_login['pass'], $sql_login['data']); //Mysqli verbindings regel
if (!$link) { //Maakt verbinding met de server
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
$db = mysqli::select_db($link, $sql_login['data']); //Selecteer mysqli database
if (!$db) { //Maakt verbinding met de database
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
?>
session_start();
error_reporting(-1);
$sql_login = array (
'host' => 'localhost',
'user' => 'vervang deze tekst binnen de aanhalingstekens in je Gebruikersnaam voor de SQL(i) database',
'pass' => 'vervang deze tekst binnen de aanhalingstekens in je Wachtwoord voor de SQL(i) database',
'data' => 'Dit is de database waar je de gegevens terug in wilt vinden'
);
$link = mysqli::__construct($sql_login['host'], $sql_login['user'], $sql_login['pass'], $sql_login['data']); //Mysqli verbindings regel
if (!$link) { //Maakt verbinding met de server
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
$db = mysqli::select_db($link, $sql_login['data']); //Selecteer mysqli database
if (!$db) { //Maakt verbinding met de database
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
?>
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
30
31
32
33
34
35
36
37
38
39
40
41
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
30
31
32
33
34
35
36
37
38
39
40
41
<?php
class Database extends mysqli
{
const DATABASE_HOST = 'localhost';
const DATABASE_USERNAME = 'root';
const DATABASE_PASSWD = '************';
const DATABASE_DBNAME = '************';
/**
* @param void
* @return object
*/
public function __construct()
{
parent::__construct(
self::DATABASE_HOST,
self::DATABASE_USERNAME,
self::DATABASE_PASSWD,
self::DATABASE_DBNAME
);
/**
* Een verbindingsfout afhandelen als een tijdelijke serverfout.
*/
if (mysqli_connect_error()) {
header('HTTP/1.1 503 Service Unavailable', 503, true);
header('Retry-After: 3600');
exit;
}
/**
* De karakterset voor databaseverbindingen instellen op UTF-8.
*/
if (!$this->set_charset('utf8')) {
header('HTTP/1.1 500 Internal Server Error', 500, true);
exit;
}
}
}
?>
class Database extends mysqli
{
const DATABASE_HOST = 'localhost';
const DATABASE_USERNAME = 'root';
const DATABASE_PASSWD = '************';
const DATABASE_DBNAME = '************';
/**
* @param void
* @return object
*/
public function __construct()
{
parent::__construct(
self::DATABASE_HOST,
self::DATABASE_USERNAME,
self::DATABASE_PASSWD,
self::DATABASE_DBNAME
);
/**
* Een verbindingsfout afhandelen als een tijdelijke serverfout.
*/
if (mysqli_connect_error()) {
header('HTTP/1.1 503 Service Unavailable', 503, true);
header('Retry-After: 3600');
exit;
}
/**
* De karakterset voor databaseverbindingen instellen op UTF-8.
*/
if (!$this->set_charset('utf8')) {
header('HTTP/1.1 500 Internal Server Error', 500, true);
exit;
}
}
}
?>
Daarna kun je de klasse simpelweg gebruiken met:
Nee, gewoon de OO versie van MySQLi gebruiken en niet met static methods
Quote:
Fatal error: Non-static method mysqli::mysqli() cannot be called statically in D:\xampp\htdocs\Project\stephannoname\config.php on line 18
De code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
session_start();
error_reporting(-1);
$sql_login = array (
'host' => 'localhost',
'user' => '*****',
'pass' => '*****',
'data' => '*****'
);
$link = mysqli::__construct($sql_login['host'], $sql_login['user'], $sql_login['pass'], $sql_login['data']); //Mysqli verbindings regel
if (!$link) { //Maakt verbinding met de server
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
$db = mysqli::select_db($link, $sql_login['data']); //Selecteer mysqli database
if (!$db) { //Maakt verbinding met de database
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
?>
session_start();
error_reporting(-1);
$sql_login = array (
'host' => 'localhost',
'user' => '*****',
'pass' => '*****',
'data' => '*****'
);
$link = mysqli::__construct($sql_login['host'], $sql_login['user'], $sql_login['pass'], $sql_login['data']); //Mysqli verbindings regel
if (!$link) { //Maakt verbinding met de server
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
$db = mysqli::select_db($link, $sql_login['data']); //Selecteer mysqli database
if (!$db) { //Maakt verbinding met de database
echo 'Kon niet verbinden met de server'; //Foutmelding
exit();
}
?>
Gewijzigd op 14/03/2013 17:10:32 door Koen Hollander
Je roept een non-static method aan als static, dat gaat natuurlijk niet ;-).
Weet je dan ook hoe ik deze fout kan verhelpen? Ik heb zoals ik al eerder zei nog nooit met SQLi gewerkt
Jeey bedankt, dit werkt