Ombouw van MYSQL naar MYSQLi lukt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George van Baasbank

George van Baasbank

27/10/2013 11:27:06
Quote Anchor link
Goedemorgen allemaal,

Naar aanleiding van topics op dit forum omtrent de instructies MYSQL dat die verlaten gaan worden en vervangen gaan worden door MYSQLi, heb ik de stoute schoenen aangetrokken om een start te maken met de migratie van MYSQL naar MYSQLi.
Echter, ik krijg de eerste pagina al niet werkend.

Omdat ik veelvuldig connecties maak met mijn database heb ik gekozen om de connectie telkens middels een include in te lezen.
Mijn connectie ziet er dan als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$verbinding = mysqli_connect("SERVERNAAM","GEBRUIKERSNAAM","WACHTWOORD","DATABASAE");
// De variabelen heb ik t.b.v. dit topic aangepast

// Check connection
if (mysqli_connect_errno($verbinding)) {
    echo "Geen verbinding met SQL-database. Foutnummer: " . mysqli_connect_error();
} else {
    echo "Verbinding gemaakt";
}

mysqli_set_charset($verbinding,"utf8");


In mijn index-bestand heb ik dit bestand alsvolgt opgenomen:
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
16
17
18
19
session_start();
 
error_reporting(0);

include "include/connectie_nw.inc.php";  // Bovengetoonde code

$sql = "SELECT * FROM sys__menustructuur WHERE website = 'webplein' ORDER BY volgnummer";
$cResultMenu = mysqli_query($sql);

mysqli_close($verbinding);

while($rowMenu = mysqli_fetch_array($cResultMenu)) {
    $cMenu = $rowMenu['menuregel'];
    $cSub = $rowMenu['subregel'];
    $cTitle = $rowMenu['title'];
    $cTarget = $rowMenu['target'];
    $cLink = $rowMenu['url'];
    .... verdere afhandeling van de ingeleen waardes
}


De ingelezen waardes worden echter niet getoond. Waar maak ik mijn denkfout?

George
Gewijzigd op 27/10/2013 11:27:36 door George van Baasbank
 
PHP hulp

PHP hulp

29/11/2024 20:46:26
 
- SanThe -

- SanThe -

27/10/2013 11:31:59
Quote Anchor link
Op regel 8 mist een parameter.

Je sluit de connectie en dan ga je toch proberen data op te halen.

Regel 3: Zet de errors aan.
Gewijzigd op 27/10/2013 11:34:04 door - SanThe -
 
Reshad F

Reshad F

27/10/2013 11:44:48
Quote Anchor link
Haal regel 10 weg. Overigens merk wel op dat een mysqli_close niet verplicht is maar wel aan te raden aan het einde van je script(db gedeelte). De voordelen hiervan zijn gewoon niks meer en minder dan snelheid. hoe sneller je je verbinding weer sluit hoe sneller je script gaat. sowieso wordt aan het einde van je code alle verbindingen verbroken.
 
George van Baasbank

George van Baasbank

27/10/2013 11:54:03
Quote Anchor link
Inderdaad,

Bij MSQLi_query had ik geen verbinding gemaakt. Blijkt dus bij MYSQLi nodig te zijn.
Ik probeer zoveel mogelijk de databse te sluiten na gebruik dus ben ik een voorstander van het handhaven van MYSQLi_close
 
Willem vp

Willem vp

27/10/2013 14:14:46
Quote Anchor link
George van Baasbank op 27/10/2013 11:54:03:
Ik probeer zoveel mogelijk de databse te sluiten na gebruik dus ben ik een voorstander van het handhaven van MYSQLi_close

Let op dat mysqli_close() de TCP-socket niet sluit; die blijft nog enige tijd in een wait-state staan. Doe dus altijd eerst een mysqli_kill() voordat je een mysqli_close() doet.
 
Tobias Tobias

Tobias Tobias

27/10/2013 16:18:32
Quote Anchor link
Moet regel 8 (in het 2e blok) niet zijn:
$cResultMenu = mysqli_query($verbinding, $sql);
 



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.