PhpMedlem sedan sep. 2001225 inlägg
Hej,
Följande fungerar fint under förutsättning att man anger ett värde för variabeln $id. Nu är det så att jag inte vill köra detta mot en enstaka post, utan mot alla poster som finns i tabellen. Jag behöver därför hjälp med en loop som uppfyller detta.
$sql = 'select sum(d.countval) as summa from'
. ' ('
. ' select countlogins as countval from members where m_id="$id"'
. ' union'
. ' select count(*) FROM books WHERE m_id="$id"'
. ' ) as d';
$points = mysql_query($sql);
$points = mysql_result($points, 0);
$query2 = mysql_query("UPDATE members SET points = '$points' WHERE m_id = $id");
itpastornMedlem sedan feb. 2007280 inlägg
SQL-frågor skall upprepas i en loop!
Detta är ett typexempel på när man skulle kunna använda "prepared statements" om man kodar med PDO eller mysqli som gränssnitt i stället för det gamla mysql. Är PHP version 4 ett krav för dig?
PhpMedlem sedan sep. 2001225 inlägg
Tack för svar!
Skulle föredra ett exempel som fungerar med PHP 4.
PhpMedlem sedan sep. 2001225 inlägg
Någon lösning måste det väl ändå finnas för PHP-4, eller?? :q
itpastornMedlem sedan feb. 2007280 inlägg
Detta borde fungera, men koden är rätt ful.
$sql = 'select sum(d.countval) as summa from'
. ' ('
. ' select countlogins as countval from members where m_id="$id"'
. ' union'
. ' select count(*) FROM books'
. ' ) as d';
$res = mysql_query($sql);
if ( mysql_num_rows($res) ) {
while ( $row = mysql_fetch_assoc($res) ) {
$points = $row['summa'];
$res2 = mysql_query("UPDATE members SET points = '$points' WHERE m_id = $id");
if ( mysql_affected_rows($res2) !== 1 ) {
// Hantera ditt fel på lämpligt sätt
}
}
} else {
// Hantera oväntat resultat från första frågan
}
PhpMedlem sedan sep. 2001225 inlägg
Fel på rad 12, Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
if ( mysql_num_rows($res) ) {
Någon fundering på vad det kan vara som spökar?