Gegevens uit de database halen lukt niet.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Paul IJmker

Paul IJmker

08/04/2008 12:35:00
Quote Anchor link
Ik gebruik de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include("./config.php");
?>

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
20
21
22
23
24
<?



    
        $sql_content
= "SELECT `infotekst` FROM `content` WHERE `paginaid` = '" . mysql_real_escape_string($_GET['id']) . "'";
            if (! $res_content = mysql_query($sql_content))
            {

                $content = 'Fout bij het ophalen van de gegevens uit de database! Dit is de gebruikte query: <br /><pre> ' . $sql_content . '</pre><br />En dit is de fout: <br />' . mysql_error();
            }

            else
            {
                 if (mysql_num_rows($res_content) > 0)
                {

                    $rij_content = mysql_fetch_assoc($res_content);
                    $content = '' . ucfirst($rij_content['infotekst']) . '';
                }

                else
                {
                    $content = 'Bericht niet gevonden. ';
                }
            }

        
?>


Het probleem is dat ik telkens de melding Bericht niet gevonden krijg. Ik heb echt alles wat ik zelf weet al geprobeerd. maar het lukt me niet. de tabel infotekst bestaat wel en in de database zit geen fout. In infotekst staan ook al gegevens, dus die zou die moeten uitlezen.

Ik hoop dat jullie mij spoedig kunnen helpen.
 
PHP hulp

PHP hulp

31/05/2024 23:38:16
 
PHP Newbie

PHP Newbie

08/04/2008 12:44:00
Quote Anchor link
Voer je query eens gewoon in phpmyadmin uit. Krijg je dan wel resultaat?

Verder hoef je een variabele niet te declareren door er ''. voor te zetten en .'' achter. Deze mag je dus weglaten.
 
Paul IJmker

Paul IJmker

08/04/2008 12:55:00
Quote Anchor link
Hoe zou ik dit moeten uitvoeren in phpmyadmin?
 
Frank -

Frank -

08/04/2008 13:32:00
Quote Anchor link
Zie het tabblad SQL in phpmyadmin, daar kun je gewoon een stuk SQL inkloppen en laten uitvoeren.
 
Paul IJmker

Paul IJmker

08/04/2008 13:53:00
Quote Anchor link
Dan krijg ik een foutmelding
 
John Cena

John Cena

08/04/2008 14:03:00
Quote Anchor link
Waarom heb je 2x een ' bij je $content staan? Je kunt een variableq zoals hierboven al vermeld zonder quotes gebruiken.

Haal die er allemaal eens uit en try again.
 
John Cena

John Cena

08/04/2008 14:05:00
Quote Anchor link
En daarnaast gebruik je ook nog short open tags,

maak daar eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php van

Chilion
 
Paul IJmker

Paul IJmker

08/04/2008 14:06:00
Quote Anchor link
Wanneer ik dat eruit haal begint het met foutmeldingen.
 
John Cena

John Cena

08/04/2008 14:14:00
Quote Anchor link
Laat je foutmeldingen eens zien dan
 
Paul IJmker

Paul IJmker

08/04/2008 14:16:00
Quote Anchor link
Ik heb de code inmiddels aangepast:

php code - Bekijk de code zonder highlighting - Klap code in

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
20
21
22
23
24
25
<?
if(isset($_GET['id']) && ctype_digit($_GET['id']))
{

  $sql_content = "SELECT infotekst
                  FROM   content
                  WHERE  paginaid = '"
. mysql_real_escape_string($_GET['id']) ."' ";

  $res_content = mysql_query($sql_content) or die mysql_error();

  if (mysql_num_rows($res_content) >= 1)
  {

    while($veld = mysql_fetch_array($res_content)
    {

      echo $veld['infotekst'];
    }
  }

  else
  {
    $content = "Bericht niet gevonden.";
  }

else
{
  echo "hey, je id is leeg!!! check je url!!!!";
}
      
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?if(isset($_GET['id']) && ctype_digit($_GET['id'])) {   $sql_content = "SELECT infotekst                   FROM   content                   WHERE  paginaid = '". mysql_real_escape_string($_GET['id']) ."' ";    $res_content = mysql_query($sql_content) or die mysql_error();    if (mysql_num_rows($res_content) >= 1)   {     while($veld = mysql_fetch_array($res_content)     {       echo $veld['infotekst'];     }   }   else   {     $content = "Bericht niet gevonden.";   } else {   echo "hey, je id is leeg!!! check je url!!!!"; }       ?>





Maar nu krijg ik de volgende fout te zien:

Parse error: syntax error, unexpected T_STRING in /home/admin/domains/webkeen.nl/public_html/projecten/wieldraaijer/inc/contenthoofd.php on line 11

Dit basseerd zich op regel:

php code - Bekijk de code zonder highlighting - Klap code in

$res_content = mysql_query($sql_content) or die mysql_error();

$res_content = mysql_query($sql_content) or die mysql_error();
 
John Cena

John Cena

08/04/2008 14:26:00
Quote Anchor link
Maak je openings tags eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php ip [code]<?

n als dat niet werkt moet je op de proffesionals wachten, want ik weet het dan dus niet ;)

Chilion
 
Patrick Niezen

Patrick Niezen

08/04/2008 14:29:00
Quote Anchor link
Je mist een haakje sluiten op lijn 12 :-)
 
Paul IJmker

Paul IJmker

08/04/2008 14:31:00
Quote Anchor link
Nog steeds dezelfde fout :-(

Parse error: syntax error, unexpected T_STRING in /home/admin/domains/webkeen.nl/public_html/projecten/wieldraaijer/inc/contenthoofd.php on line 11
 
Patrick Niezen

Patrick Niezen

08/04/2008 14:38:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
  $result = mysql_query(sprintf("SELECT infotekst FROM content WHERE paginaid = %d", $_GET['id']));

  if(mysql_num_rows($result) == 0)
    $content = "Bericht niet gevonden.";
  while($veld = mysql_fetch_array($result))
    $content .= $veld['infotekst'];
}
else
  $content = "Bericht id leeg, haxor!";
?>


Edit: je query in jouw voorbeeld vergelijk je een Integer (paginaid is een Integer neem ik aan) met een string, het werkt maar is niet goed ;-) Gebruik liever mysqli_* functies, maar ik heb het maar even mysql_* functies gemaakt anders moet je alles aanpassen (wat ik je wel aanraadt).
Gewijzigd op 01/01/1970 01:00:00 door Patrick Niezen
 
Paul IJmker

Paul IJmker

08/04/2008 14:41:00
Quote Anchor link
Hallo Patrick,

Ik heb dit overgenomen, nu krijg ik de melding bericht id leeg, haxor. alleen er zit echt wel wat data in de infotekst. Hoe kan dit nou dan?
 
- SanThe -

- SanThe -

08/04/2008 14:46:00
Quote Anchor link
Haken:
or die mysql_error(); => or die(mysql_error());
 
Patrick Niezen

Patrick Niezen

08/04/2008 14:48:00
Quote Anchor link
Dat betekend dat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
isset($_GET['id']) && ctype_digit($_GET['id'])) == false
?>


Dus $_GET['id'] bestaat niet, of het is geen digit. Wat is de URL die jij aanroept voor deze webpagina/script?

Edit: Goed gezien SanThe, ik las d'r overheen...
Gewijzigd op 01/01/1970 01:00:00 door Patrick Niezen
 
John Cena

John Cena

08/04/2008 14:48:00
Quote Anchor link
Maarre, als je het op Sitemaster vraagt en hier, dan weet je nooit wat de goeie oplossing is. Ik herken het aan de linkjes erboven.

Chilion
 
Paul IJmker

Paul IJmker

08/04/2008 14:49:00
Quote Anchor link
Patrick Niezen schreef op 08.04.2008 14:38:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
  $result = mysql_query(sprintf("SELECT infotekst FROM content WHERE paginaid = %d", $_GET['id']));

  if(mysql_num_rows($result) == 0)
    $content = "Bericht niet gevonden.";
  while($veld = mysql_fetch_array($result))
    $content .= $veld['infotekst'];
}
else
  $content = "Bericht id leeg, haxor!";
?>


Edit: je query in jouw voorbeeld vergelijk je een Integer (paginaid is een Integer neem ik aan) met een string, het werkt maar is niet goed ;-) Gebruik liever mysqli_* functies, maar ik heb het maar even mysql_* functies gemaakt anders moet je alles aanpassen (wat ik je wel aanraadt).



Ik gebruik een integer (getal). maar dit werkt helaas nog niet, hij pakt niets uit de database.
 
Paul IJmker

Paul IJmker

08/04/2008 14:50:00
Quote Anchor link
Chilion schreef op 08.04.2008 14:48:
Maarre, als je het op Sitemaster vraagt en hier, dan weet je nooit wat de goeie oplossing is. Ik herken het aan de linkjes erboven.

Chilion


Ik ben alle mogelijkheden aan het proberen. Hulp van alle kanten is welkom.
 
Patrick Niezen

Patrick Niezen

08/04/2008 14:51:00
Quote Anchor link
Je kunt uitsluiten (op dit moment) dat er fouten zijn met je database en/of query. Hij komt namelijk niet eens die eerste if()-lus door! Dus de aanroep van de webpagina is gewoon verkeerd. Wat is nu de URL die je gebruikt dan?

Dat zou in de richting van: http://localhost/index.php?id=95
moeten zijn...
Gewijzigd op 01/01/1970 01:00:00 door Patrick Niezen
 

Pagina: 1 2 volgende »



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.