mysql_fetch_array word niet weergegeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Vincent berger

vincent berger

28/01/2013 14:28:13
Quote Anchor link
hallo,

ik heb een mysql_fetch_array code die perfect connect en fuctioneert

alleen mijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print (''); ?>
wordt niet weergegeven op mijn php pagina terwijl als ik refresh er gewoon word bijgetelt in me database.. dat vind ik best raar, en echo werkt ook niet op fetch_array ..

de code is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

include_once "scripts/mysql_connect.php";

mysql_query ("UPDATE viewcounter SET `views` = `views`+1 WHERE id='1'");

$sql = mysql_query ("SECELECt * FROM viewcounter WHERE id='1'");
while ($row = mysql_fetch_array ($sql)){
$id = $row['id'];
$pagename = $row['pagename'];
$views = $row['views'];
};

?>



<body>

there are
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print ('$views'); ?>
on the
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print ('$pagename'); ?>
page !

</body>

als ik de pagina refresh komt er te staan: There Are On The Page !
ik loop hier al een week tegenaan en niemand kan me antwoordgeven of helpen...

WAT DOE IK VERKEERD ??
Gz PHHM - PracticalHipHopMusic.com
 
PHP hulp

PHP hulp

19/04/2024 10:28:57
 
Ward van der Put
Moderator

Ward van der Put

28/01/2013 14:46:12
Quote Anchor link
Plaats de variabelennamen buiten aanhalingstekens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print ($views); ?>


of beter nog:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $views; ?>


Op regel 7 staat SECELECt in plaats van SELECT.
Gewijzigd op 28/01/2013 14:47:43 door Ward van der Put
 
Vincent berger

vincent berger

28/01/2013 14:49:14
Quote Anchor link
het word gewoon niet aangegeven...
zelfs niet als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "{$views['$sql']} "; ?>
doe

wat doe ik verkeerd


Toevoeging op 28/01/2013 14:50:46:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $views; ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print ($views); ?>


doen het niet ik heb oneindig veel dingen gedaan maar ik krijg geen weergaven...
 
Erwin H

Erwin H

28/01/2013 14:54:21
Quote Anchor link
Je weet neem ik aan wel dat je sql query nogal, uhm, vreemd is?

mysql_query ("SECELECt * FROM viewcounter WHERE id='1'");

Nette foutafhandeling zou dan natuurlijk wel werken...
 
Ivo Breeden

Ivo Breeden

28/01/2013 14:54:25
Quote Anchor link
Het lijkt me dat er in de tabel viewcounter helemaal geen row is met id='1'. (Ook hier horen de single quotes niet te staan, maar het zal wel begrepen worden door MySQL.)
Je komt er niet achter omdat je helemaal geen foutafhandeling ingebouwd hebt. Doe dat eerst eens. Controleer de afloop van ieder MySQL statement.
 
Vincent berger

vincent berger

28/01/2013 15:07:07
Quote Anchor link
Ivo Breeden op 28/01/2013 14:54:25:
Het lijkt me dat er in de tabel viewcounter helemaal geen row is met id='1'. (Ook hier horen de single quotes niet te staan, maar het zal wel begrepen worden door MySQL.)
Je komt er niet achter omdat je helemaal geen foutafhandeling ingebouwd hebt. Doe dat eerst eens. Controleer de afloop van ieder MySQL statement.


hoebedoel je eigenlijk? met een: or die echo ('');

of

echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
 
Ivo Breeden

Ivo Breeden

28/01/2013 16:33:45
Quote Anchor link
Excuus Vincent, het zit niet in de foutafhandeling maar in het feit dat je de variabelen die je in een while ophaalt, gebruikt buiten de while.
Dat neemt niet weg dat je die foutafhandeling altijd moet inbouwen. (Al kun je er nog wel over twisten of je die foutmelingen in een productie-situatie naar het scherm van de gebruiker moet laten gaan of naar een logfile; natuurlijk is dat laatste beter.) De juiste aanpak is volgens mij:
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
<?php
include_once "scripts/mysql_connect.php";

$resultaat = mysql_query ("UPDATE viewcounter SET `views` = `views`+1 WHERE id='1'");
// FOUTAFHANDELING!
if ($resultaat == false) {
  echo 'Fout bij update: '. mysql_error();
}

if (mysql_affected_rows() == 0) {
  echo 'Fout bij update: er zijn geen rijen ge-update.';
}


$sql = mysql_query ("SECELECT id, pagename, views FROM viewcounter WHERE id='1'");
// FOUTAFHANDELING!
if ($sql == false) {
  echo 'Fout bij query: '. mysql_error();
}


while ($row = mysql_fetch_array ($sql)){
  $id = $row['id'];
  $pagename = $row['pagename'];
  $views = $row['views'];
  echo 'there are '.$views.' on the '.$pagename.' page!'
};
?>
 
Vincent berger

vincent berger

28/01/2013 16:52:19
Quote Anchor link
Ivo Breeden op 28/01/2013 16:33:45:
Excuus Vincent, het zit niet in de foutafhandeling maar in het feit dat je de variabelen die je in een while ophaalt, gebruikt buiten de while.
Dat neemt niet weg dat je die foutafhandeling altijd moet inbouwen. (Al kun je er nog wel over twisten of je die foutmelingen in een productie-situatie naar het scherm van de gebruiker moet laten gaan of naar een logfile; natuurlijk is dat laatste beter.) De juiste aanpak is volgens mij:
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
26
27
<?php
include_once "scripts/mysql_connect.php";



$resultaat = mysql_query ("UPDATE viewcounter SET `views` = `views`+1 WHERE id='1'");
// FOUTAFHANDELING!
if ($resultaat == false) {
  echo 'Fout bij update: '. mysql_error();
}

if (mysql_affected_rows() == 0) {
  echo 'Fout bij update: er zijn geen rijen ge-update.';
}


$sql = mysql_query ("SECELECT id, pagename, views FROM viewcounter WHERE id='1'");
// FOUTAFHANDELING!
if ($sql == false) {
  echo 'Fout bij query: '. mysql_error();
}


while ($row = mysql_fetch_array ($sql)){
  $id = $row['id'];
  $pagename = $row['pagename'];
  $views = $row['views'];
  echo 'there are '.$views.' on the '.$pagename.' page!'
};
?>







ja het klopt dat er iets fout zat query zegt:

Fout bij query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'SECELECT id, pagename, views FROM viewcounter WHERE id='1'' at line 1

dat snap ik weer niet

Toevoeging op 28/01/2013 16:54:28:

kijk maar http://www.practicalhiphopmusic.com/test.php
 
Erwin H

Erwin H

28/01/2013 17:04:49
Quote Anchor link
Misschien tijd om eens de posts hierboven te gaan lezen? Er is al drie keer gezegd dat het niet SECELECT is, maar SELECT
Gewijzigd op 28/01/2013 17:05:09 door Erwin H
 
Vincent berger

vincent berger

28/01/2013 17:10:33
Quote Anchor link
Erwin H op 28/01/2013 17:04:49:
Misschien tijd om eens de posts hierboven te gaan lezen? Er is al drie keer gezegd dat het niet SECELECT is, maar SELECT


ok.. bedankt.. alleen als ik nu de pagina refresh telt die het er niet bij op er blijft alleen maar 1 staan maar bij me database niet daar telt die gewoon door hoe kan dat ?
Gewijzigd op 28/01/2013 17:22:29 door vincent berger
 
Erwin H

Erwin H

28/01/2013 17:20:34
Quote Anchor link
Waarom krijg je dan deze foutmelding denk je?
Quote:
Fout bij query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'SECELECT id, pagename, views FROM viewcounter WHERE id='1'' at line 1
 
Vincent berger

vincent berger

28/01/2013 17:29:22
Quote Anchor link
ok.. bedankt.. alleen als ik nu de pagina refresh telt die het er niet bij op er blijft alleen maar 1 staan maar bij me database niet daar telt die gewoon door hoe kan dat ?

en dat terwijl ik 176 views heb op die page en er staat 1
 



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.