2 sql queries in php script

Status
Niet open voor verdere reacties.

vragenfreak92

Gebruiker
Lid geworden
9 jul 2006
Berichten
210
Ik heb een script, waarin een sql wordt uitgevoerd, namelijk:

"SELECT * FROM Tbl WHERE id=' " . $_GET['id']"

deze voer ik uit, en met behulp van een while loop, lees ik deze gegevens uit.
Hierna worden de gegevens in een mail bericht gezet, en dan verstuurd. Dit werkt vlekkeloos.

Maar nu komt het gedeelte wat niet lukt.
Als je mail verstuurd is, dan moet er in de database iets geupdated worden, en wel de status. 0 = niet verzonden, 1 = wel verzonden.

Nu heb ik al geprobeerd nog een sql te draaien, na het contoleren of de mail verstuurd is. Alleen dan krijg ik de sql errors. :


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Hoe kan ik dit wel doen?

Mijn dank is groot.
 
De opgegeven fout geeft aan dat de query niet goed is... heb je al geprobeerd om de query in PHPmyAdmin te draaien?

Hoe ziet de query eruit die je probeert uit te voeren?
 
De opgegeven fout geeft aan dat de query niet goed is... heb je al geprobeerd om de query in PHPmyAdmin te draaien?

Hoe ziet de query eruit die je probeert uit te voeren?

Nadat de mail is verstuurd, word er gecontroleerd of deze verzonden is.

Zo ja, dan geeft deze een echo: Uw bericht is verzonden.

Na de echo voer ik een nieuwe query uit, namelijk :

UPDATE Tbl SET kolom=1 WHERE id="'$_GET['id']

Dit veranderd een status, van 0 naar 1
 
Weet je zeker dat je geen spelfouten in het script hebt? De enkele aanhalingstekens komen voor de dubbele, en je moet ze ook aan het eind van de query weer afsluiten ->

PHP:
$sSQL = "UPDATE Tbl SET kolom=1 WHERE id='" . $_GET['id'] . "'";
 
Weet je zeker dat je geen spelfouten in het script hebt? De enkele aanhalingstekens komen voor de dubbele, en je moet ze ook aan het eind van de query weer afsluiten ->

PHP:
$sSQL = "UPDATE Tbl SET kolom=1 WHERE id='" . $_GET['id'] . "'";

Kan het wel dat dit in een while loop staat?
 
Het is opgelost!:thumb:

Ik had idd de ' s verkeerd staan en afgesloten

Dankjewel Frats!:thumb::thumb:
 
Ja, dat kan... je kunt gewoon queries uitvoeren in een while loop. Je moet alleen opletten dat je niet de variabelen die je gebruikt voor bv. de resultaten zet overschrijft, want dan worden alle overige resultaten weggegooid.

(Dus niet dit ->)
PHP:
$result = mysql_query ( "SELECT * FROM user" );
while ( $row = mysql_fetch_assoc ( $result ) ) {
    $result = mysql_query ( "UPDATE user SET status = 1 WHERE " . $row['id'] );
}

Zolang je de resultaat variabele waar je de rijen uithaalt niet overschrijft, blijft ie gewoon queries uitvoeren voor je en de loop doorlopen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan