resource id #135

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan vb

Johan vb

18/07/2011 16:33:55
Quote Anchor link
Ik wil een veld uit database halen op basis van een variabele die ik eerder geselecteerd heb. (met select)

$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?
 
PHP hulp

PHP hulp

24/11/2024 15:21:25
 
Jasper DS

Jasper DS

18/07/2011 16:38:59
Quote Anchor link
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.
 
Johan vb

Johan vb

18/07/2011 16:48:20
Quote Anchor link
Ik heb een formulier met daarop een select waarmee ik $vacature selecteer.

$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());
 
Jasper DS

Jasper DS

18/07/2011 16:52:46
Quote Anchor link
probeer dit eens:

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
<?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>';
    }

?>
 
Johan vb

Johan vb

18/07/2011 16:57:14
Quote Anchor link
Jasper,

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.
 
Jasper DS

Jasper DS

18/07/2011 17:02:01
Quote Anchor link
Excuseer, dat had ik even verkeerd begrepen.

probeer dit eens:
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
<?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'];
    }

?>


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
 
- SanThe -

- SanThe -

18/07/2011 17:03:49
Quote Anchor link
In deze regel horen géén enkele quotes te staan:
$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' ...
 
Johan vb

Johan vb

18/07/2011 19:25:35
Quote Anchor link
Beide bedankt voor je reactie maar ik vrees dat ik er nog niet helemaal ben.
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()
 
- Ariën  -
Beheerder

- Ariën -

18/07/2011 19:35:07
Quote Anchor link
$beheerder is een mysql_query(). Deze kan je nooit zomaar echo'en, en moet je eerst nog fetchen, alvorens je de data kan gebruiken.
 
Johan vb

Johan vb

18/07/2011 19:42:11
Quote Anchor link
waarschijnlijk een domme vraag maar het fetchen is dat niet wat Jasper doet op regel 13?
 
- Ariën  -
Beheerder

- Ariën -

18/07/2011 19:43:03
Quote Anchor link
Correct.
 
Johan vb

Johan vb

18/07/2011 19:50:13
Quote Anchor link
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,...)
 
Jasper DS

Jasper DS

18/07/2011 20:00:21
Quote Anchor link
je moet $row['vac_beheerder'] gebruiken waar je nu die error krijgt bij $beheerder als ik het goed begrijp.
 
Johan vb

Johan vb

18/07/2011 20:17:22
Quote Anchor link
Het werkt perfect (was even te snel)

Hartelijk dank voor jullie hulp.
Johan
Gewijzigd op 18/07/2011 20:20:30 door Johan vb
 



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.