【问题标题】:Unable to jump to row 0 on MySQL result index 13无法跳转到 MySQL 结果索引 13 上的第 0 行
【发布时间】:2010-04-25 16:20:35
【问题描述】:

标题错误的原因是什么?我在 Mysql Front 测试了 mysql 查询,没有问题。我的脚本如下。谢谢。

$fbFoodPerma = $fbSiteID."-".$fbFoodPerma;  
    $sql = mysql_query("  
        SELECT fbFoodPerma   
        FROM fbFoods   
        WHERE fbFoodPerma   
        LIKE '$fbFoodPerma'") or die(mysql_error());  
    $isStored = mysql_result($sql,0,"fbFoodPerma");  
    while ($isStored == "$fbFoodPerma") {  
    $fbFoodPerma = $fbFoodPerma."-";  
    $sql = mysql_query("  
        SELECT fbFoodPerma   
        FROM fbFoods   
        WHERE fbFoodPerma   
        LIKE '$fbFoodPerma'") or die(mysql_error());  
        $isStored = mysql_result($sql,0,"fbFoodPerma");  
        }  

【问题讨论】:

  • 看起来这个查询没有返回任何行。
  • 我在 Mysql Front 上测试了查询。它返回一行。
  • 脚本也工作了一个月。它很少返回此错误,但现在已堆积。
  • @Ahmet 你最好摆脱这个过时的 mysql_result 函数。改用 mysql_fetch_row/assoc。您的代码中也有非常不寻常的逻辑。完全看不懂
  • 该代码中确实有很多奇怪的东西。你绝对肯定这个查询甚至返回足够的行吗?尝试查看mysql_num_rows() 函数是否返回任何内容。你也可能想去mysql_fetch_row()mysql_fetch_assoc而不是mysql_result

标签: php mysql


【解决方案1】:

嗯,试试这个,看看它是否在拾取任何数据:

$sql="SELECT * FROM fbFoods";
$query = mysql_query($sql) or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($query);

if ($num_rows > 0) {
    echo "rows found";
    } else {
    echo "none found";
}

还要确保 $fbFoodPerma 确实包含某些内容 - 尝试在查询结束时回显它。

echo $fbFoodPerma;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多