Begrijp ik het nu goed, dat als je bv deze select maakt:
<?php
$chess_SQL = "SELECT * FROM schaak_a
WHERE
id_schaaka='$op_zoek'
OR id_schaaka='$op_zoek2'";
$chess_result = mysql_query($chess_SQL) or die(mysql_error());
?>
Dat $chess_result een array is ?
Sorry hoor maar ben deze week begonnen met programmeeropleiding en ontdek opeens van alles....
mysql_query() stuurt een query naar de huidige actieve database op de server die wordt geassocieerd met de gegeven link identifier. Als link_identifier niet wordt gegeven, wordt de laatst geopende link aangenomen. Als er geen link open is, probeert de functie een link te maken alsof mysql_connect() wordt aangeroepen zonder argumenten, en die te gebruiken.
Opmerking: De query string moet niet eindigen met een puntkomma.
Alleen voor SELECT, SHOW, EXPLAIN en DESCRIBE queries geeft mysql_query() een resource identifier terug of FALSE als de query niet correct werd uitgevoerd. Voor andere soorten SQL queries geeft mysql_query() TRUE terug bij succes en FALSE bij een fout. Een niet-FALSE waarde geeft aan dat de query legaal was en kon worden uitgevoerd door de server. Hij geeft echter niets aan over het aantal rijen betrokken of teruggegeven. Het is zeer goed mogelijk dat een query goed wordt uitgevoerd maar geen rijen wijzigt of teruggeeft.
patrick je moet nog wel een mysql_fetch_assoc of mysql_fetch_object doen als je de gegevens wil opvragen, ook kun je beter de velden opnoemen dan een * te gebruiken.
dus
<?php
$chess_SQL = "SELECT * FROM schaak_a
WHERE
id_schaaka='$op_zoek'
OR id_schaaka='$op_zoek2'";
$chess_result = mysql_query($chess_SQL) or die(mysql_error());
$info = mysql_fetch_assoc($chess_result);
echo 'Het id = '.$info['id'];
// als het veld zonoemt in database
?>
Met de functie mysql_query() voer je een een query (vraag) uit op een database. Het resultaat van deze query wordt ergens in het geheugen gezet.
Om nu het resultaat uit het geheugen te gebruiken hebben we een adres nodig. Dit adres is van type resource, dit wordt (als alles goed gaat ) terug gegeven door mysql_query() .
Deze resource komt dan als parameter in de mysql_fetch_* functies. Met het resultaat van deze fetch functies kun je iets doen.
edit:
Als je een lijst met gebruikers wil ophalen dan zul je de fetch functies meerdere keren moeten aanroepen. Dit omdat de functies maar 1 gebruiker (rij) per aanroep terug geven.
Je moet in dit geval dus een loop maken, voorbeeldje:
Als ik iets in het geheugen zet, heb je toch ok een array?
Wat ik me namelijk afvraag , is of ik met resultaten van de Querie al kan gaan rekenen. Bv:
<?php
$chess_SQL = "SELECT * FROM schaak_a
WHERE
id_schaaka='$op_zoek'
OR id_schaaka='$op_zoek2'";
$chess_result = mysql_query($chess_SQL) or die(mysql_error());
?>
o.i.d.
en kun je dat dan op het scherm laten weergeven door:
<?php
while( $aRij = mysql_fetch_assoc($info) )
{
echo $aRij['naam'] . ' - ' . $aRij['$score'] . '<br />';
}
?>
Je resultaten zitten in een array(). In dat array() zitten de gevonden records. In $chess_result zit, zeg maar, de pointer naar alle resultaten. In $info zit nu één array() met de gegevens van één record uit de resultaten.
Dus als ik een optelling per speler wil toevoegen aan het array , moet ik dat doen voordat ik de pointer naar de resultaten zet met:
$chess_result = mysql_query($chess_SQL)