http://www.ngc.itim.be/members/index.php
Als je op 1 van de 2 bovenste profielen duwt zul je zien dat alles 2x word weergegeven. Dit komt omdat er 2 Admins zijn, uiteraard is dit niet bedoeling en moet het script enkel de gegevens van de juiste persoon eruit halen.
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /opt/www/landuytb/web/ngc.itim.be/members/profiel_admin.php on line 65
Warning:mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /opt/www/landuytb/web/ngc.itim.be/members/profiel_admin.php on line 65
Nochtans de admin "Diewy" bestaat wel degelijk!!
Deze MySql n00b heeft hulp nodig van jullie professioneel advies ;-)
$query_algemeen = mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep FROM admin WHERE adminnaam=Diewy");
$query_algemeen=mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep FROM admin WHERE adminnaam=Diewy");
En gebruik error handling, dit zorgt ervoor dat je een error krijgt als je query niet goed word uitgevoerd.
Tevens zal het de error geven waarom hij niet goed word uitgevoerd. http://www.site...amp;id=805
<?php
mysql_connect("mysql-1.priorweb.be","ngcadmin","top secret");
mysql_select_db("ngc");
$nick = $_GET['member'];
$query = mysql_query("SELECT * FROM admin WHERE nick='".$nick."'");
//waarom zoveel querys :s parstijd word alleen langer...
------------
// en houd vars buiten quotes
while ($arr_algmeen = mysql_fetch_assoc($query)) { //assoc gaat sneller
echo "Naam: ".$assoc['row waar naam word opgeslagen']."";
...
}
...
?>
Ibrahim - 18/08/2005 18:00 (laatste wijziging 18/08/2005 18:01)
PHP expert
je probleem is dat je veel querys gebruikt gebruik gewoon eentje. En dan moet je ook nog eens variabelen buiten quotes houden. En dan moet je ook bij de where adminnaam='".$nick."' en niet deway ofzo
er was oorspronkelijk maar 1 query, maar omdat grafische_kaart, zonder T was geschreven en ik die fout maar niet vond heb ik het allemaal opgesplitst en zo de fout ondekt.
En dat kan normaal toch geen kwaad?
ja kweetet da daar $nick moet komen, maar dat was nu ff om is te testen, want in $nick staat toch Diewy dus ja...
/// edit ///
Ik heb dus alles zitten aanpassen
en nu heb ik de volgende code:
$query=mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam=".$nick."");
$query=mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam=".$nick."");
Nu heb je nog steeds niet gedaan, wat ik in mijn eerste post al zei:
Gebruik error handling.
Die error is gewoon omdat je query niet goed word uitgevoerd.
Als je error handling gebruikt (or die(MySQL_Error());) of dat script dat ik je gaf, had je hem waarschijnlijk al opgelost.
$query = mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam=".$nick."");
?>
$query=mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam=".$nick."");
$query = mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam='".$nick."'");
?>
$query=mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam='".$nick."'");
?>
Onthoud dat strings altijd tussen quotes (' en ') moeten.
Getallen hoeven dat niet per sé (liever niet).
Ibrahim - 19/08/2005 11:25 (laatste wijziging 19/08/2005 11:27)
PHP expert
en aangezien je erg veel rijen uit je database haalt is het beter om een sterretje in de plaats daarvan te zetten hoef je ook niet zoveel querys te maken.
Ligt er maar net aan, als dat nog niet de helft van de tabel "admin" is zou ik dat zeker niet doen.
Hij haalt dan een hoop onnodige waarden op waar je toch niks mee kunt.
Dus dan is het het beste om alles apart op te halen.
Maar als je ruim over de helft zit, of dat is alles uit de tabel "admin", zou je inderdaad een * kunnen gebruiken.
<?php
mysql_connect("mysql-1.priorweb.be","ngcadmin","");
mysql_select_db("ngc");
$query = "UPDATE admin SET naam='WD' WHERE id=1";
mysql_query($query) or die (mysql_error());
echo "updated";
?>
Thomas - 20/08/2005 11:27 (laatste wijziging 20/08/2005 11:28)
Moderator
Hoeveel query-resultaten heeft $query in je tweede code-fragment ? Als je meerdere query-resultaten hebt, worden namelijk de formulier-velden "naam" en "van" dubbel gebruikt, en dat lijkt mij niet de bedoeling. Als $query maar één resultaatrij heeft, is dit geen probleem (maar waarom gebruik je dan een while ? ).
Als de tekst "updated" wordt afgedrukt, dan is je query uitgevoerd (want als je query niet goed was, dan zou er een mysql_error() gegenereerd zijn). Kijk maar in de database-tabel admin bij de rij met id 1.
Waarom $_POST['naam'] niet afgedrukt wordt weet ik niet. Probeer je dit te doen nadat er een formulier is verstuurd met een veld getiteld "naam" er in ? Of probeer je dit op een willekeurige pagina ?
PS: Probeer die inspring er eens uit te slopen voordat je code-fragmenten hier plaatst aub, dat lijkt mij een kleine moeite.
<?php
$query = mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam='".$nick."'")
or die("Ongeldige query: " . mysql_error());
?>
<?php
$query=mysql_query("SELECT adminnaam,email,naam,van,geboortedatum,geslacht,beroep,functie,games,actief,processor,geheugen,harde_schijf,grafische_kaart,extra,commentaar,lievelingscitaat FROM admin WHERE adminnaam='".$nick."'")