Get Info functie PHP

Gestart doorDylan15 reacties33 weergaven

16 berichten · pagina 1 van 2

Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Ik heb deze functie:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] getinfo[COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data3[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_array"]mysql_fetch_array[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$data3[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" FROM users WHERE id = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]"    "[/COLOR][COLOR= #007700]));[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$result[/COLOR][COLOR= #007700];
}[/COLOR]
?>


En als ik dit doe:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]"Ingelogd als "[/COLOR][COLOR= #007700].[/COLOR] getinfo[COLOR= #007700]([/COLOR][COLOR= #DD0000]1[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]username[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700];[/COLOR]
?>


krijg ik Array

Ik heb verder geen idee hoe ik dit anders kan doen in een functie.
0
Berichten
4.912
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
return $result->$data3;

?
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Smiegles schreef:
return $result->$data3;

?
Wss omdat ie mysql_fetch_array gebruikt

Probeer mysql_fetch_assoc eens
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sevvlor schreef:
Eerdere citaten tonen
Smiegles schreef:
return $result->$data3;
?

Wss omdat ie mysql_fetch_array gebruikt

Probeer mysql_fetch_assoc eens
Nog steedsy Array
Smiegles schreef:
return $result->$data3;

?
Dan komt er niks
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het is overgins een heel slecht idee om voor elk kleine dingetje dat je nodig hebt een querie te draaien.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
mysql_fetch_array geeft een Array terug. Vervolgens return jij die Array en echo je hem. Dan is het dus logisch dat je Array als value terug krijgt.

Je zult dus

return $result[$data3]; moeten doe in plaats van return $result;
Smiegles schreef:
return $result->$data3;

?
Dit werkt alleen als je mysql_fetch_object doet en dat is slecht om te doen.
Sevvlor schreef:
Eerdere citaten tonen
Smiegles schreef:
return $result->$data3;
?

Wss omdat ie mysql_fetch_array gebruikt

Probeer mysql_fetch_assoc eens
mysql_fetch_array en mysql_fetch_assoc geven beiden een array terug. Dit heeft er dus niets mee te maken

Overigens is wat Rogier zegt het enige antwoord wat ergens op slaat in dit topic.. Reageer alleen als je weet waar je het over hebt wink
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Rik schreef:
mysql_fetch_array geeft een Array terug. Vervolgens return jij die Array en echo je hem. Dan is het dus logisch dat je Array als value terug krijgt.

Je zult dus

return $result[$data3]; moeten doe in plaats van return $result;
Smiegles schreef:
return $result->$data3;

?
Dit werkt alleen als je mysql_fetch_object doet en dat is slecht om te doen.
Sevvlor schreef:
Eerdere citaten tonen
Smiegles schreef:
return $result->$data3;
?

Wss omdat ie mysql_fetch_array gebruikt

Probeer mysql_fetch_assoc eens
mysql_fetch_array en mysql_fetch_assoc geven beiden een array terug. Dit heeft er dus niets mee te maken

Overigens is wat Rogier zegt het enige antwoord wat ergens op slaat in dit topic.. Reageer alleen als je weet waar je het over hebt wink
jezus, ik weet waar ik het overheb, die opmerking slaat dus nergens op.

Mag een mens ok een keer een oplossing pitchen die niet werkt? Oh wacht we mogen geen fouten maken als voor geprogrammeerde programmeurs. emoemoemo
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Rik schreef:
mysql_fetch_array geeft een Array terug. Vervolgens return jij die Array en echo je hem. Dan is het dus logisch dat je Array als value terug krijgt.

Je zult dus

return $result[$data3]; moeten doe in plaats van return $result;
Dan krijg ik:

Ingelogd als username

wat niet klopt, want ik ben ingelogd als test

toevoeging op 10 september 2012, 17:08:10:
Oh laat maar het werkt nu:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] getinfo[COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data3[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users WHERE id = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]"    "[/COLOR][COLOR= #007700]));[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$result[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$data3[/COLOR][COLOR= #007700]];
}[/COLOR]
?>
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je weet dat dit niet echt een handige oplossing is om gegevens van een lid op te halen? Wat nou als je de gebruikersnaam 10x wilt weergeven? Of als je meerdere gegevens van die gebruiker wilt laten zien.

Ik raad het je ook aan om, als je maar 1 veld nodig hebt, alleen dat veld op te vragen.. In het begin probeerde je dat al wel, maar je query was SELECT username FROM users WHERE id=1 in plaats van SELECT username FROM users WHERE id=1
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] getinfo[COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" FROM users WHERE id = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]));[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$result[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]];
}[/COLOR]
?>


Done
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Sjoerd schreef:
Je weet dat dit niet echt een handige oplossing is om gegevens van een lid op te halen? Wat nou als je de gebruikersnaam 10x wilt weergeven? Of als je meerdere gegevens van die gebruiker wilt laten zien.

Ik raad het je ook aan om, als je maar 1 veld nodig hebt, alleen dat veld op te vragen.. In het begin probeerde je dat al wel, maar je query was SELECT username FROM users WHERE id=1 in plaats van SELECT username FROM users WHERE id=1
Met laatse ben ik tot op zekere hoogte eens, als je 10 kollomen hebt. Dan word * sneller uitgevoerd, dan dat je 6 kollomen gaat hard coden.
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Antonn schreef:
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] getinfo[COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" FROM users WHERE id = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]));[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$result[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]];
}[/COLOR]
?>
Done

Thanks.

toevoeging op 11 september 2012, 15:35:11:
Moet ik bij $data en $user ook mysql_real_escape_string zetten?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
ja
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Mogen? Moeten!

Zolang jij niet met 100% zekerheid weet wat de input kan zijn moet je het altijd escapen.
Bijvoorbeeld bij alle input die door users aangepast kan worden ($_GET, $_POST, $_COOKIE, om maar voorbeelden te noemen), zul je altijd moeten escapen.
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Rik schreef:
Mogen? Moeten!

Zolang jij niet met 100% zekerheid weet wat de input kan zijn moet je het altijd escapen.
Bijvoorbeeld bij alle input die door users aangepast kan worden ($_GET, $_POST, $_COOKIE, om maar voorbeelden te noemen), zul je altijd moeten escapen.
Van $user wist ik het maar van $data niet zeker. Bedankt voor info.

CONCLUSIE:

wat de user kan aanpassen escapenbiggrin
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren