我有一个PHP脚本,它从我的MySQL数据库中的一行获取一个值,通过一个函数运行它,如果它确定它是真的返回一个值,如果它是假的,它需要转到下一个值数据库并检查一个,直到最终返回true。 我想我需要使用mysql_fetch_assoc,但我不确定以什么方式使用它...我希望我可以发布我的代码更具体,但它是很多代码,而且大部分代码都没有关系这个问题......
答案 0 :(得分:2)
您可以在数据库中执行“功能”吗?处理表中的每一行以检查某种类型的条件是非常低效的。这正是数据库擅长的,即有效处理查询并快速获得答案。
因此,我建议在数据库端查看如何完成所有操作,以便您的PHP代码只是获取最终结果(即由函数过滤的行)。也许如果您提供有关“功能”的更多详细信息,可以提供更具体的答案。
答案 1 :(得分:0)
你可以使用mysql_fetch_array,只需跳转使用$ row [id]而不是$ row ['name']获取的值。 假设你的函数返回true,你只需使用$ row [lastid + 1]。
如果ID不是增量的,这可能有效:
$qry_result = mysql_query($qry) or die(mysql_error());
while ($row = mysql_fetch_array($qry_result)) {
$result = yourfunction($row['whatever');
if ($result != false)
break;
}
还有一个php函数next(),它将指针前进到下一个数组元素。在您的函数中,您可以实现一个数组构建器,然后使用它在元素之间循环。取决于您的功能实际执行的内容或脚本目的。如果有很多结果,可能会导致一些负荷。
答案 2 :(得分:0)
您可以尝试这样的事情:
SELECT *
FROM table
WHERE field NOT LIKE '%$sessionvar:%';
我认为这就是你追求的目标?
答案 3 :(得分:0)