Call to a member function query() on null
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// connection variables
$servername = "localhost";
$username = "user";
$password = "wachtwoord";
$dbname = "harryare-8";
// crearte connection
$connect = new Mysqli($servername, $username, $password, $dbname);
// check connection
if($connect->connect_error) {
die("Connection Failed : " . $connect->error);
} else {
echo "Successfully Connected";
}
$servername = "localhost";
$username = "user";
$password = "wachtwoord";
$dbname = "harryare-8";
// crearte connection
$connect = new Mysqli($servername, $username, $password, $dbname);
// check connection
if($connect->connect_error) {
die("Connection Failed : " . $connect->error);
} else {
echo "Successfully Connected";
}
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$sqlConfirm = "SELECT * FROM users WHERE usr_confirm_hash = $_GET[id]";
echo $sqlConfirm.'<br />';
$rs=$connect->query($sqlConfirm);
if($rs === false) {
trigger_error('Wrong SQL: ' . $sqlConfirm . ' Error: ' . $connect->error, E_USER_ERROR);
} else {
$rows_returned = $rs->num_rows;
}
echo $sqlConfirm.'<br />';
$rs=$connect->query($sqlConfirm);
if($rs === false) {
trigger_error('Wrong SQL: ' . $sqlConfirm . ' Error: ' . $connect->error, E_USER_ERROR);
} else {
$rows_returned = $rs->num_rows;
}
Gewijzigd op 11/09/2017 23:13:26 door Harry H Arends
Verder nog een paar dingetjes:
- id in je $_GET hoort tussen single-quotes
- je bent vatbaar voor SQL-injection
- Ariën - op 11/09/2017 23:26:17:
Nee deze komt uit een includeIs dit al je code? Want $connect lijkt niet gevonden te worden? Of heb je dit stiekem in een functie verpakt?
Quote:
die regel heb ik aangepastVerder nog een paar dingetjes:
- id in je $_GET hoort tussen single-quotes
- je bent vatbaar voor SQL-injection
- id in je $_GET hoort tussen single-quotes
- je bent vatbaar voor SQL-injection
Code (php)
1
2
2
$id = mysqli_real_escape_string($connect, $_GET['id']);
$sqlConfirm = "SELECT * FROM users WHERE usr_confirm_hash = '".$id."'";
$sqlConfirm = "SELECT * FROM users WHERE usr_confirm_hash = '".$id."'";
Bedankt voor de input
Gewijzigd op 12/09/2017 13:29:23 door Harry H Arends
Staat de opcode cache niet extreem lang ofzo, zodat je altijd tegen de eerste versie van je bestand aan blijft kijken. Als daar dan een foutje in zit kun je verbeteren wat je wilt, maar zie je het resultaat niet.
Kijk eens met phpinfo() of er een cacheing-mechanisme gebruikt wordt.
Gewijzigd op 12/09/2017 14:38:15 door - Ariën -