我有一个 PHP 查询。它要复杂得多,但为了清楚起见,我们假设查询是:
$query = "SELECT * FROM my_table WHERE (foo = 'bar') OR (foo = 'bar_bar') OR (foo = 'bar_bar_bar')";
$result = mysql_query($query);
有没有办法找出 $result
的每一行是否匹配 foo = 'bar'
、foo = 'bar_bar'
或foo = 'bar_bar_bar'
?
我知道我可以简单地这样做:
while($row = mysql_fetch_assoc($result) {
switch($row['foo']) {
case 'bar' :
// we matched 'bar'
break;
case 'bar_bar' :
// we matched 'bar_bar'
break;
case 'bar_bar_bar' :
// we matched 'bar_bar_bar'
break;
}
}
但这效率很低,因为您基本上是在查询结果,而且许多查询和结果都太复杂,无法以这种方式执行。
那么,是否有一种简单有效的方法来查找,例如匹配查询语句的索引,或者我最好的选择是将查询拆分为单独的查询?
谢谢。
最佳答案
为什么要检查这个?您可以根据结果直接编写所需的函数。 在函数中,您要编写而不是将其硬编码为名称,只需给出
$row['var_name']
。
关于php - 如何使用 PHP 找出多语句 mysql_query 的哪一部分被匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24755606/