php - 如何使用 PHP 找出多语句 mysql_query 的哪一部分被匹配?

标签 php mysql sql

我有一个 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/

相关文章:

php - 如何使用 Retrofit2 Android 将音频 (Mp3) 上传到服务器

php - 航海者 Laravel 5 : Wrong paths for images

mysql - Spatialite 找到给定纬度/经度的最近节点

mysql - 字段列表中的列 ' ' 不明确

javascript - 使用Node.JS查询MySQL并在网页中显示结果

php - 在发送请求之前,PHP是否针对WSDL验证请求?

mysql - 从mysql的大表中快速选择随机行

mysql - SQL 中的条件和计数

mysql - SELECT 语句内的 Case 语句中的 SELECT 语句

mysql - rails - 数字比较比文本比较快多少