Mysql select
wat is er fout aan deze code?
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$query = mysql_query("SELECT t1.nieuws_ID, t1.naam, t1.titel, t1.dag, t1.maand, t1.jaar, t1.bericht, t2.reactie_ID, t2.nieuws_ID, t2.reactie_naam, t2.reactie_bericht, t2.datum FROM nieuws AS t1, reacties AS t2 WHERE t1.nieuws_ID='". $_GET['id'] ."'");
while ($res = mysql_fetch_array($query)) {
de rest
}
?>
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$query = mysql_query("SELECT t1.nieuws_ID, t1.naam, t1.titel, t1.dag, t1.maand, t1.jaar, t1.bericht, t2.reactie_ID, t2.nieuws_ID, t2.reactie_naam, t2.reactie_bericht, t2.datum FROM nieuws AS t1, reacties AS t2 WHERE t1.nieuws_ID='". $_GET['id'] ."'");
while ($res = mysql_fetch_array($query)) {
de rest
}
?>
?? ik krijg namelijk deze error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/vhosts/bernardveeningen.nl/httpdocs/blog/home.php on line 6
bernard
Gewijzigd op 01/01/1970 01:00:00 door Bernard
Gewijzigd op 01/01/1970 01:00:00 door D B
neej, dat kan het niet zijn, want ik geef de tabel nieuws daar de ff een shortcut naar t1 (table1) en de tabel reacties ff afkorting naar t2 (table2)...
Sorry kwam er ook net achter dat ik het niet goed gezien had!
Zet, om te beginnen, eens or die(mysql_error()); achter de functie mysql_query().
Deze foutafhandeling mag je later nog gaan verbeteren, maar het is een beginnetje.
Offtopic: $query is een beroerde naam, het is namelijk helemaal geen query. In deze variabele staat een result-set, $result is dus een 100x betere naam.
okay, ga ff proberen om die or die erachter te zetten!, thnx
ik heb nu dit script:
Code (php)
1
2
3
2
3
$result = mysql_query("SELECT t1.nieuws_ID, t1.naam, t1.titel, t1.dag, t1.maand, t1.jaar, t1.bericht, t2.reactie_ID, t2.nieuws_ID, t2.reactie_naam, t2.reactie_bericht, t2.datum FROM nieuws AS t1, reacties AS t2 WHERE t1.nieuws_ID='". $_GET['id'] ."' AND t2.nieuws_ID='". $_GET['id'] ."'") or die (mysql_error());
while ($res = mysql_fetch_array($result)) {
?>
while ($res = mysql_fetch_array($result)) {
?>
<table class="nieuwsbericht">
<tr>
<td class="nieuws_titel" colspan="2"><h3></h3></td>
</tr>
<tr>
<td class="nieuws_bericht" colspan="2"></td>
</tr>
<tr>
<td class="auteur" colspan="2">
Code (php)
1
<?php echo "Door: <b>".$res['naam']."</b> | op: ".$res['dag']." ".$res['maand']." ".$res['jaar']." | reacties (<b>0</b>)" ?>
</tr>
<tr>
<td class="reactiebalk" colspan="2">Reacties</td>
</tr>
<tr>
<td class="reactie" colspan="2">Het reactie systeem moet nog gefixt worden!, tijdelijk kunnen er nog geen reacties geplaatst worden!<br /><br />
Je ziet onderaan misschien wel een formulier maar knappe vent als jij een bericht kan plaatsen :P
</td>
</tr>
<tr>
<td class="reactiebalk" colspan="2">Plaatsen</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<form name="reactie" method="post" action="reageer.php">
<td><b>naam:</b></td>
<td><input type="text" size="20" /></td>
</tr>
<tr>
<td><b>email:</b></Td>
<td><input type="text" size="20" /></td>
</tr>
<td valign="top"><b>bericht:</b></Td>
<td><textarea rows="10" cols="30"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="reageer"></td>
</form>
</table>
krijg nu een leeg wit scherm als ik op lees meer klik, weet niet wat er nu fout gaat aangezien ik geen error krijg
om te zien hoe het gaat:
klik en dan bij nieuws op "lees meer"..
Gewijzigd op 01/01/1970 01:00:00 door bernard
Dit wil nog wel eens wat extra informatie opleveren.
Wat is trouwens 'lees meer' ? Is dat dit script of een heel ander script?
dat is dit script, maar ik heb al dat ini set en error reporting neergezet boven aan mijn page.
En geen foutmeldingen of notices? In dat geval kan het zijn dat er simpelweg geen resultaten zijn. Met de functie mysql_num_rows() kun je opvragen hoeveel resultaten er zijn gevonden.