resource id #135
$beheerder = mysql_query("select vac_beheerder from sollicitatie.vacature where 'vac_vacature' ='$vacature'") or die(mysql_error());
Ik zou dan de naam van de beheerder terug moeten krijgem maar krijg in de plaats
resource id#135
Enig idee hoe wat ik fout doe?
Je fetcht de query waarschijnlijk niet + een foutafhandling ontbreekt! Toon even wat relevante code en lees een beginnerstutorial over hoe je zaken uit de database haalt.
$query="SELECT vac_id as 'id', vac_vacature as 'vacature', vac_beheerder as 'beheerder' FROM reg_sollicitatie.vacature where vac_eind > now()";
$result = mysql_query ($query);
echo '<select name="vacature">';
while($nt=mysql_fetch_assoc($result)){//Array or records stored in $nt
echo '<option value="' . $nt['vacature'] . '">' . $nt['vacature'] . '</option>';
}
echo "</select>";
Dit formulier = method Post en verwijst (action) naar send_mail.php
In de send_mail heb ik de beheerder nodig om naar de juiste persoon een mail te sturen. vandaar mijn $beheerder = mysql_query("select vac_beheerder from sollicitatie.vacature where 'vac_vacature' ='$vacature'") or die(mysql_error());
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$query = "SELECT vac_id as id, vac_vacature as vacature, vac_beheerder as beheerder
FROM reg_sollicitatie.vacature
WHERE vac_eind > NOW()
";
if(($result = mysql_query($query)) === false)
{
echo 'De query werkt niet';
}
else
{
echo '<select name="vacature">';
while( $nt=mysql_fetch_assoc($result) )
{
echo '<option value="' . $nt['vacature'] . '">' . $nt['vacature'] . '</option>';
}
echo '</select>';
}
?>
$query = "SELECT vac_id as id, vac_vacature as vacature, vac_beheerder as beheerder
FROM reg_sollicitatie.vacature
WHERE vac_eind > NOW()
";
if(($result = mysql_query($query)) === false)
{
echo 'De query werkt niet';
}
else
{
echo '<select name="vacature">';
while( $nt=mysql_fetch_assoc($result) )
{
echo '<option value="' . $nt['vacature'] . '">' . $nt['vacature'] . '</option>';
}
echo '</select>';
}
?>
De select op mijn formulier werkt en haalt de gegevens uit de database.
Mijn probleem zit in send_mail waar ik de corresponderende vac_beheerder uit mijn database wil halen.
probeer dit eens:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$sql_get_beheerder = "SELECT vac_beheerder
FROM sollicitatie.vacature
WHERE vac_vacature = '".$vacature."'
";
if(($beheerder = mysql_query($sql_get_beheerder)) === false)
{
echo 'Query mislukt';
}
else
{
$row = mysql_fetch_assoc($beheerder);
echo $row ['vac_beheerder'];
}
?>
$sql_get_beheerder = "SELECT vac_beheerder
FROM sollicitatie.vacature
WHERE vac_vacature = '".$vacature."'
";
if(($beheerder = mysql_query($sql_get_beheerder)) === false)
{
echo 'Query mislukt';
}
else
{
$row = mysql_fetch_assoc($beheerder);
echo $row ['vac_beheerder'];
}
?>
verder raad ik je aan een tutorial te lezen over foutafhandelingen. or die is geen nette manier!
let ook op sql injectie
Gewijzigd op 18/07/2011 17:02:24 door Jasper DS
$query="SELECT vac_id as 'id', vac_vacature as 'vacature', vac_beheerder as 'beheerder' FROM reg_sollicitatie.vacature where vac_eind > now()";
Hier óók niet: ... where 'vac_vacature' ...
Nu krijg ik het emailadres ($beheerder) terug bij mijn bevestiging (echo) maar eigenlijk hoeft dit niet. Ik wil het veld vac_beheerder (waarin het mailadres weggeschreven is) enkel gebruiken als bestemmeling (to). Als ik nu de $beheerder in mijn message zet blijft hij resource #id 135 geven. Ik neem aan dat dit ook het geval zal zijn als ik het gebruik als bestemmeling in mijn mail()
$beheerder is een mysql_query(). Deze kan je nooit zomaar echo'en, en moet je eerst nog fetchen, alvorens je de data kan gebruiken.
waarschijnlijk een domme vraag maar het fetchen is dat niet wat Jasper doet op regel 13?
Correct.
Waarom krijg ik dat wel correct terug als echo maar kan ik het niet gebruiken als $beheerder in mijn message of als bestemmeling voor mijn mail($bestemmeling, $subject,...)
je moet $row['vac_beheerder'] gebruiken waar je nu die error krijgt bij $beheerder als ik het goed begrijp.