Call to a member function query() on null

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Harry H Arends

Harry H Arends

11/09/2017 23:11:38
Quote Anchor link
Ik krijg constant deze fout maar ik volg wat in het voorbeeld staat om de database te openen dit scriptje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
}
en geen foutmelding. Maar dan wil ik een record ophalen uit de database. Dit doe ik als volgt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
}
De foutmelding komt van regel 3, wat moet ik anders doen?
Gewijzigd op 11/09/2017 23:13:26 door Harry H Arends
 
PHP hulp

PHP hulp

15/11/2024 18:55:17
 
- Ariën  -
Beheerder

- Ariën -

11/09/2017 23:26:17
Quote Anchor link
Is dit al je code? Want $connect lijkt niet gevonden te worden? Of heb je dit stiekem in een functie verpakt?

Verder nog een paar dingetjes:
- id in je $_GET hoort tussen single-quotes
- je bent vatbaar voor SQL-injection
 
Harry H Arends

Harry H Arends

12/09/2017 13:27:16
Quote Anchor link
- Ariën - op 11/09/2017 23:26:17:
Is dit al je code? Want $connect lijkt niet gevonden te worden? Of heb je dit stiekem in een functie verpakt?
Nee deze komt uit een include
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
include '../db_connect.php';
Quote:
Verder nog een paar dingetjes:
- id in je $_GET hoort tussen single-quotes
- je bent vatbaar voor SQL-injection
die regel heb ik aangepast
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$id = mysqli_real_escape_string($connect, $_GET['id']);
$sqlConfirm = "SELECT * FROM users WHERE usr_confirm_hash = '".$id."'";
Hierna werkte het nog niet. Toen de provider gevraagd om de server opnieuw op te starten. Een uur later weer geprobeerd en voila het werkt. Nu maar een klacht bij de provider neergelegd om dfit eens uit te zoeken.
Bedankt voor de input
Gewijzigd op 12/09/2017 13:29:23 door Harry H Arends
 
Rob Doemaarwat

Rob Doemaarwat

12/09/2017 13:43:13
Quote Anchor link
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.
 
- Ariën  -
Beheerder

- Ariën -

12/09/2017 14:38:03
Quote Anchor link
Mijn opcache staat op 1 minuut. (en uit op development-locaties)

Kijk eens met phpinfo() of er een cacheing-mechanisme gebruikt wordt.
Gewijzigd op 12/09/2017 14:38:15 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.