我正在使用显示用户ID和我遇到的问题的查询,它能够检索除最后一条记录之外的所有数据。例如,我有这些id(1,2,3,4,5)。 使用我的脚本,它能够从5到2检索忽略1。
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_vivalooks, $vivalooks);
$query_rs_resq = "SELECT user_id FROM users_pics ORDER BY profile_id desc LIMIT 0,5; ";
$rs_resq = mysql_query($query_rs_resq, $vivalooks) or die(mysql_error());
$row_rs_resq = mysql_fetch_assoc($rs_resq);
$totalRows_rs_resq = mysql_num_rows($rs_resq);
HTLM&amp; PHP
<table width="100%" border="0" cellspacing="4" cellpadding="4">
<?php
if($totalRows_rs_resq > 0){
while($row_rs_resq = mysql_fetch_assoc($rs_resq)){
$u_pic_id = $row_rs_resq['u_pic_id'];
?>
<tr>
<td><?php echo $row_rs_resq['u_pic_id']; ?></td>
</tr>
<?php } ?>
</table>
使用我的脚本而不是显示5条记录,只显示4条。
答案 0 :(得分:1)
看起来你有两个语句执行相同的操作。
$row_rs_resq = mysql_fetch_assoc($rs_resq);
删除其中一个,因为它正在执行此操作,它正在移动数组的内部指针。它或者你重置内部指针。
请参阅:mysql_fetch_assoc — Fetch a result row as an associative array