Ik probeer verbinding te maken met een database maar krijg als resultaat steeds dat er "geen resultaten" zijn en "Einde".
Verbinding lijkt dus goed te gaan, krijg ook geen error, maar gegevens uit de database krijg ik niet te zien.
Tabel heet Huizen, een van de kolommen is Gemeente.
Iemand een tip?
Code:<?php include 'config.php'; $dbcon = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME); $sql = "SELECT * FROM [Huizen]"; $result = mysqli_query($dbcon, $sql); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "data: " . $row["Gemeente"]. "<br>"; } } else { echo "geen resulaten!"; } mysqli_close($dbcon); echo "<br>-- Einde! --"; ?>
- Wat gaat er fout in mijn code?
-
16-07-2018, 08:58 #1
- Berichten
- 2.299
- Lid sinds
- 16 Jaar
Wat gaat er fout in mijn code?
-
In de schijnwerper
-
16-07-2018, 09:19 #2
- Berichten
- 7
- Lid sinds
- 18 Jaar
Re: Wat gaat er fout in mijn code?
En als je [Huizen] vervangt met 'Huizen' ?
-
16-07-2018, 09:29 #3
- Berichten
- 2.299
- Lid sinds
- 16 Jaar
Re: Wat gaat er fout in mijn code?
Heeft geen effect, zelfde resultaat. Had ik volgens mijn ook al geprobeerd.
-
16-07-2018, 10:29 #4
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Wat gaat er fout in mijn code?
Zet je error_reporting(E_ALL) erin, dat zie je het waarschijnlijk wel, of kijk in je web error logs.
-
16-07-2018, 11:02 #5
- Berichten
- 2.299
- Lid sinds
- 16 Jaar
Re: Wat gaat er fout in mijn code?
hm, paar aanpassingen gedaan, geen include config maar de gegevens direct in connection.php
twee regels toegevoegd:
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
dan krijg ik: (waar username staat is het aangepast)
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in D:\www\username\www\connection.php on line 10 geen resulaten!
-- Einde! --
-
16-07-2018, 19:28 #6
- Berichten
- 2.299
- Lid sinds
- 16 Jaar
Re: Wat gaat er fout in mijn code?
Opgelost:
$sql = "SELECT * FROM [Huizen]"; moet zijn: $sql = "SELECT * FROM Huizen"; dus zonder enige aanhalingsteken o.i.d.
-
16-07-2018, 20:38 #7
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Wat gaat er fout in mijn code?
En om op je vraag terug te komen wat er fout gaat in je code...
Je maakt geen gebruik van foutafhandeling. Als je dat nu wel doet, dan had je dit probleem 10 uur eerder gezien. Dat een query fout gaat (typefout oid overkomt iedereen) zal niemand je kwalijk nemen. Maar door het niet afvangen van mogelijke fouten krijg je een fout programma. In dit geval een melding dat niks gevonden is, maar de echte fout is een fout sql statement. Zo krijg je de mogelijkheid dat 'syntax'-fouten resulteren in 'functionele' fouten en dat kost je per definitie altijd teveel tijd om op te lossen.
https://www.w3schools.com/php/func_mysqli_error.asp
Het kost maar 1 regel extra typewerk ;)
-
16-07-2018, 21:58 #8
- Berichten
- 2.299
- Lid sinds
- 16 Jaar
Re: Wat gaat er fout in mijn code?
Bedankt John,
Maar omdat ik geen foutmelding kreeg over de databaseconnectie ging ik er van uit dat die goed was.
De foutmelding ging al over een paar regels erna.
-
16-07-2018, 23:12 #9
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Wat gaat er fout in mijn code?
Als je bv DB_HOST e.d. in een file hebt gedefinieerd als define("DB_HOST", "localhost'); oid. dan moet je die 'DB_HOST' zonder '$' gebruiken. (ik weet niet of je dit deed, is ook maar een voorbeeld).
Zet je er toch die '$' voor dan maakt php er een lege variabele van en zal een NOTICE daarvan loggen (die je niet ziet omdat de meeste hosters error reporting en tonen van errors deactiveren en je die zelf expliciet moet activeren).
Nu is het helemaal niet fout (syntactisch) om met foute variabelen (lege) een connectie proberen op te zetten. Tijdens runtime gaat dat overduidelijk fout natuurlijk, maar daar kom je alleen achter als je het resultaat van een functie call checked. (denk aan mysqli_err* functies).
Het is vaak wat meer werk om die regeltjes te gebruiken, ook al weet je 100% dat iets altijd goed moet gaan (nou ja, totdat iemand een veldnaam wijzigt en het ergens in de code vergeet aan te passen), maar dit betaald zich altijd terug tijdens debuggen en troubleshooten.
Succes!
-
17-07-2018, 07:47 #10
- Berichten
- 301
- Lid sinds
- 19 Jaar
Re: Wat gaat er fout in mijn code?
De Query met [blokhaakjes] begreep ik niet, deze is dus opgelost
Alsnog even een terzijde vraag (ook aan de php-ers).
Roep/riep je de config wel correct aan?
include("config.php"); ipv de gebruikte include 'config.php';
Edit ivm Tiepvout
-
17-07-2018, 07:53 #11
- Berichten
- 2.299
- Lid sinds
- 16 Jaar
Re: Wat gaat er fout in mijn code?
John, bedankt voor je toelichting. Heb ook de $ voor DB_Host weggehaald.
Fred, dat gaat wel goed. Overigens werken beide. Welke beter is weet ik niet.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic