Vad händer om man använder mysql_num_rows() för att räkna antal poster och resultatet blir noll?
mysql_num_rows
8 svar · 461 visningar · startad av LAMP
Returnerar 0. ;)
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
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
}
Tackar!
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> </p></td>\n");
}
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> </p></td>\n");
}
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> </p></td>\n");