geen output
Indien de select name from j_jtmb_members_directory l where l.user_id=186 wordt toegepast dan krijg ik wel de naam. ik heb al gekeken of de $_REQUEST["code"] wel meekwam door een echo te gebruiken, maar die werdt netjes aangegeven.
Waar gaat het fout. Ik kwam her en der al opmerkingen tegen dat je beter geen mysql_ statements meer moest gebruiken, maar helaas ben ik erg nieuw met php en mysql en ben ik bezig een oude site met specifieke code in joomla te verweven.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if (empty($_REQUEST["code"]) != 1)
{
$sql = 'SELECT * '.
'FROM j_jtmb_members_directory l '.
'WHERE l.user_id=' . $_REQUEST["code"];
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
}
?>
if (empty($_REQUEST["code"]) != 1)
{
$sql = 'SELECT * '.
'FROM j_jtmb_members_directory l '.
'WHERE l.user_id=' . $_REQUEST["code"];
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
}
?>
<html>
<head>
<link REL="STYLESHEET" TYPE="text/css" HREF="/.include/template.css">
<title>Wijzigen Ledenlijst</title>
</head>
<body >
<table width="100%" border="0">
<tr>
</td>
<td>
<h1> Verzamelstaat overzicht </h1>
<h2>van: </h2>
<p align="right"><a href="/beheer/beheer_ledenlijst.php">Naar de
ledenlijst> </a></p>
<p align="left"><a href="wijzig_staat1ster.php?code=">1* opleidingsresultaten</a></p>
<p align="left"><a href="wijzig_staat2ster1.php?code=">2* opleidingsresultaten </a> </p></td>
</tr>
</table>
</body>
</html>
Misschien $row[name]; veranderen naar $row["name"];
Je query is lek. Zie sql-injection.
Ik snap het feit dat de query lek is, maar dat is nu voor latere zorg.
Waar komt de $_REQUEST['code'] vandaan?
Als ik die echter weg laat en in de query gewoon een bestaande code gebruik dan blijft de $row(name) ook nog leeg, terwijl bij een query op de databasee wel een resultaat wordt weergegeven.
Toevoeging op 21/03/2013 14:15:25:
geprobeerd de code te wijzigen
$sql= 'SELECT * '.
'FROM j_jtmb_members_directory l, param p '.
'WHERE l.user_id = p.var' ;
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
nog geen resultaat
de query laat op de database wel resultaat zien, dus het moet ergens in de
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
Gewijzigd op 21/03/2013 14:39:08 door Martin Kleijn
Bouw foutafhandeling in.
en ik ben ook nog een 'echte' beginner, dus dat is makkelijker gezegd dan voor mij gedaan
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
Gewijzigd op 21/03/2013 16:59:53 door Martin Kleijn
deze foutafhandeling. En zoek op SQL-injection, zoals Santhe als zei, je script is lek!
Typisch geval van het ontbreken van een foutafhandeling. Kijk even naar en de query opgebouwd zoals in het voorbeeld van de foutafhandeling.
Hiermee is mijn probleem opgelost.
Bedankt!
Gewijzigd op 21/03/2013 20:39:05 door Martin Kleijn