php - 无法跳转到 MySQL 结果索引上的第 0 行..?

标签 php mysql

我收到以下错误 block (值得注意的是,它会立即重复,为了简单起见,我只复制了一次迭代):

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 89

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 91

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 93

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 95

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 97

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 99

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 101

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a-slsa/www/classes/ASC/ASCStaffData.php on line 103

引用的行如下(是的,我知道使用已弃用的函数会很糟糕,但这不是我的代码 - 从其他人那里继承了一个相当大的项目):

    $ascStaff['staffId'] = (mysql_result($dbStaffData->fetch,0,"STAFF_ID") ?
                                mysql_result($dbStaffData->fetch,0,"STAFF_ID") : NULL);

    $ascStaff['ownership'] = (mysql_result($dbStaffData->fetch,0,"OWNERSHIP") ?
                                mysql_result($dbStaffData->fetch,0,"OWNERSHIP") : NULL);    

    $ascStaff['firstName'] = (mysql_result($dbStaffData->fetch,0,"FIRST_NAME") ?
                                mysql_result($dbStaffData->fetch,0,"FIRST_NAME") : NULL);

    $ascStaff['lastName'] = (mysql_result($dbStaffData->fetch,0,"LAST_NAME") ?
                                mysql_result($dbStaffData->fetch,0,"LAST_NAME") : NULL);

    $ascStaff['ritEmail'] = (mysql_result($dbStaffData->fetch,0,"RIT_EMAIL") ?
                                mysql_result($dbStaffData->fetch,0,"RIT_EMAIL") : NULL);

    $ascStaff['otherEmail'] = (mysql_result($dbStaffData->fetch,0,"OTHER_EMAIL") ?
                                mysql_result($dbStaffData->fetch,0,"OTHER_EMAIL") : NULL);

    $ascStaff['address'] = (mysql_result($dbStaffData->fetch,0,"ADDRESS") ?
                                mysql_result($dbStaffData->fetch,0,"ADDRESS") : NULL);

    $ascStaff['phoneNumber'] = (mysql_result($dbStaffData->fetch,0,"PHONE_NUMBER") ?
                                    mysql_result($dbStaffData->fetch,0,"PHONE_NUMBER") : NULL); 

令我困惑的是,当手动输入 mysql 时,查询运行得很好。

知道为什么我会收到此错误或如何修复它吗?

最佳答案

根据我的评论:mysql 扩展已被弃用,因此即使您正在使用旧的代码库,您也应该考虑升级到 mysqli

鉴于此,通常此错误表明查询失败。

以类似于此的方式检查查询:

$result = mysql_query("SELECT foo FROM bar WHERE foo = 1");
if(!$result || !mysql_num_rows($result))
{
    die("Empty dataset.");
}

关于php - 无法跳转到 MySQL 结果索引上的第 0 行..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20558364/

相关文章:

java - 类似的问题

php - 如何使用 jQuery 在模式弹出窗口中传递值

mysql - 在 MYSQL 中使用 match 子句进行搜索

php - 在 Apache VirtualHost 上设置 Laravel 5

php - 我可以将单个Google帐户用于Youtube Data API吗?

php - 在 Goutte 中设置代理

c# - Mysql 查询 datagridview C#

php - mySQL 仅对列中的每个站点回显行一次

javascript - 背景颜色变化的瓷砖

php - 使用 LIKE 将一张表中的数据匹配到另一张表