Mysql Select werkt niet

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Mysql Select werkt niet

Bericht door Drekslet » 26 okt 2006, 18:02

Hoi,

Ik ben mijn eigen pagina's aan het maken in PHPBB. Ik heb een pagina News.php waar ik nieuws berichten uit een mysql database selecteer.

De code die ik daarvoor gebruik is:

Code: Selecteer alles

$sql = "Select * FROM News WHERE ID='". $_GET['id'] ."'";

if ( !($result = $db->sql_query($sql)) ) {
		message_die(GENERAL_ERROR, 'Error getting news', '', __LINE__, __FILE__, $sql);
}

	$newsid = array();
	while( $row = $db->sql_fetchrow($result) )
	{
		$newsid[] = $row;
	}

	$db->sql_freeresult($result);

$template->assign_vars(array(
	'TITLE' => $newsid['title'],
	'USER' => $newsid['user'], 
	'MESSAGE' => $newsid['message'])
);
en in mijn .tpl bestand gebruik ik:

Code: Selecteer alles

<font class="big">{TITLE}</font><br>
<font class="small">{USER} - 09 - 09 - 06</font><br><br> 
{MESSAGE}<br /><br />
<hr class="line" />
Comments <a name="Comments"></a><br><br>
Name: {NAME}<br>
Subject: {SUBJECT}<br>
Message: {MESSAGE}<hr class=\"line\" />
Maar als ik nu alles upload, werkt hij niet. Hij laat alles zien behalve de dingen tussen { }.

Weet iemand waar dit aan ligt ?


Greetz

Andre
Drek, Slet!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 26 okt 2006, 18:13

Code: Selecteer alles

$sql = "Select * FROM News WHERE ID='". intval($_GET['id']) ."'";

if ( !($result = $db->sql_query($sql)) ) {
      message_die(GENERAL_ERROR, 'Error getting news', '', __LINE__, __FILE__, $sql);
}

   $newsid = array();
   while( $row = $db->sql_fetchrow($result) )
   {
      $newsid = $row;
   }

   $db->sql_freeresult($result);

$template->assign_vars(array(
   'TITLE' => $newsid['title'],
   'USER' => $newsid['user'],
   'MESSAGE' => $newsid['message'])
);
:)

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 26 okt 2006, 18:27

Wat betekent die intval ? :oops:

Hij werkt ook nog steeds niet :(
Drek, Slet!

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 27 okt 2006, 11:32

Weet niemand hoe ik dit kan laten werken?

en weet iemand ook wat intval betekent ?
Drek, Slet!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 27 okt 2006, 14:52

intval is voor de beveiliging.
Weet je wel zeker dat je de ID die je opgeeft in de url wel bestaat? EN dat het velt ID heet, met een hoofdletter?

Code: Selecteer alles

$sql = "SELECT * FROM News WHERE ID = ". intval($_GET['id']);

if ( !($result = $db->sql_query($sql)) ) {
      message_die(GENERAL_ERROR, 'Error getting news', '', __LINE__, __FILE__, $sql);
}

$row = $db->sql_fetchrow($result);
if(!$row)
{
message_die(GENERAL_ERROR,"Geen nieuws item gevonden");
}

   $db->sql_freeresult($result);

$template->assign_vars(array(
   'TITLE' => $row['title'],
   'USER' => $row['user'],
   'MESSAGE' => $row['message'])
);
Probeer die is?

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 27 okt 2006, 17:48

Hij werkt nog niet helemaal hij geeft alleen de titel weer... :?

Zou het misschien kunnen komen omdat ik meerdere mysql querys onder elkaar heb staan ?

Moet dan al die $template->assign_vars(array( in 1 ding of in meerdere onder de mysql query ?
Drek, Slet!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 27 okt 2006, 17:52

bestaan de velden user en message wel in die table? :)

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 27 okt 2006, 18:01

ja ik heb alles nagekeken alles bestaat en hoofdletters en geen hoofdletters kloppen ook allemaal
Drek, Slet!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 27 okt 2006, 18:10

Zet voor

Code: Selecteer alles

$template->assign_vars(array(
   'TITLE' => $row['title'],
   'USER' => $row['user'],
   'MESSAGE' => $row['message']) 
eens

Code: Selecteer alles

var_dump($row);
en zeg wat je ziet?

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 27 okt 2006, 18:44

Dan zie ik:

Code: Selecteer alles

array(12) { [0]=> string(1) "1" ["ID"]=> string(1) "1" [1]=> string(18) "Under Construction" ["title"]=> string(18) "Under Construction" [2]=> string(38) "This site is still under construction." ["message"]=> string(38) "This site is still under construction." [3]=> string(38) "This site is still under construction." ["message200"]=> string(38) "This site is still under construction." [4]=> string(5) "Andre" ["user"]=> string(5) "Andre" [5]=> string(19) "2006-09-20 18:11:27" ["date"]=> string(19)
Drek, Slet!

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 29 okt 2006, 11:54

Weet helemaal niemand wat de fout is ? :oops:
Drek, Slet!

Gesloten