webForumDet fria alternativet

mysql_num_rows

8 svar · 461 visningar · startad av LAMP

LAMPMedlem sedan mars 2002729 inlägg
#1

Vad händer om man använder mysql_num_rows() för att räkna antal poster och resultatet blir noll?

stevenetMedlem sedan juni 2000985 inlägg
#2

Returnerar 0. ;)

LAMPMedlem sedan mars 2002729 inlägg
#3

Så det är alltid lämpligt att använda mysql_num_rows() för att kolla så att en hämtning gav träff? Eller hur gör man nedanstående i PHP på enklaste och bästa sätt?

set rs = conn.execute(sql)

if not rs.eof then
' jippe något fanns
else
' buu, det fanns inte
end if
SPiNMedlem sedan mars 20005 832 inlägg
#4

Så länge SQL-frågan är en SELECT, och inte en INSERT, UPDATE eller DELETE så går det bra att använda mysql_num_rows() - annars ska du använda mysql_affected_rows().

För att få ASP:en till PHP:

$mysqlResult = mysql_query( $sql )
     or die( mysql_error() );

if( mysql_num_rows( $mysqlResult) > 0 ) {
     // jippe något fanns
}
else {
     // buu, det fanns inte
}
LAMPMedlem sedan mars 2002729 inlägg
#5

Tackar!

LAMPMedlem sedan mars 2002729 inlägg
#6

hmm, får inte det att fungera:

You have an error in your SQL syntax near 'Resource id #6' at line 1

Kör jag sql-frågan utan kollen då fungerar den, vad har jag nu klantat till?


$mysqlResult = mysql_query( $last_topic_post_query )
     or die( mysql_error() );

$row = mysql_fetch_array($mysqlResult);

if( mysql_num_rows( $row ) > 0 ) {

  $last_topicdate = $row['dteDate']; 
  $last_topicdate = substr($last_topicdate, 0, 16);
  $last_topicwriter = $row['req_Username']; 

print ("<td width=\"120\" valign=\"middle\"><p>$last_topicdate av $last_topicwriter</p></td>\n");

}
else {
    print ("<td width=\"120\" valign=\"middle\"><p>&nbsp;</p></td>\n");
}
SPiNMedlem sedan mars 20005 832 inlägg
#7
if( mysql_num_rows( $row ) > 0 ) {

Borde vara:

if( mysql_num_rows( $mysqlResult ) > 0 ) {
LAMPMedlem sedan mars 2002729 inlägg
#8

Får samma fel ännu :(

tar jag bort kollen och lägger till mysql_query() till sql-frågan, då får jag ut vad jag ska. Men nu får jag:

You have an error in your SQL syntax near 'Resource id #6' at line 1

$last_topic_post_query = ("Select * FROM Inlagg WHERE IntForumId = '$intForumId' ORDER by dteDate DESC LIMIT 1", $db);

$mysqlResult = mysql_query( $last_topic_post_query )
     or die( mysql_error() );

$row = mysql_fetch_array($mysqlResult);

if( mysql_num_rows( $mysqlResult ) > 0 ) {

  $last_topicdate = $row["dteDate"]; 
  $last_topicdate = substr($last_topicdate, 0, 16);
  $last_topicwriter = $row["req_Username"]; 

print ("<td width=\"120\" valign=\"middle\"><p>$last_topicdate av $last_topicwriter</p></td>\n");

}
else {
    print ("<td width=\"120\" valign=\"middle\"><p>&nbsp;</p></td>\n");
}
LAMPMedlem sedan mars 2002729 inlägg
#9

Denna fungerar, hade missat , $db på slutet, tack till er som hjälpt mig :bire

$last_topic_post_query = ("Select * FROM Inlagg WHERE IntForumId = '$intForumId' ORDER by dteDate DESC LIMIT 1");

$mysqlResult = mysql_query( $last_topic_post_query )
     or die( mysql_error() );

$row = mysql_fetch_array($mysqlResult);

if( mysql_num_rows( $mysqlResult ) > 0 ) {

  $last_topicdate = $row["dteDate"]; 
  $last_topicdate = substr($last_topicdate, 0, 16);
  $last_topicwriter = $row["req_Username"]; 

print ("<td width=\"120\" valign=\"middle\"><p>$last_topicdate av $last_topicwriter</p></td>\n");

}
else {
    print ("<td width=\"120\" valign=\"middle\"><p>&nbsp;</p></td>\n");
Genererad på 364 ms · cache AV · v20260730165559-full.f96bc7eb