如何在PHP中检测字符串变量包含mysql_query字符串?

时间:2014-05-04 08:44:41

标签: php mysql

我尝试编写获取mysql_query变量的函数然后获取并给我一个数组。 我写这些代码:

$select_query = mysql_query("...");
fetch_query_objects($select_query);
function fetch_query_objects($query){
$counter = 0;
while ($fetch_query = mysql_fetch_assoc($query)) {
    $fields_name = array_keys($fetch_query);
    for ($i=0; $i < count($fields_name); $i++) { 
        $objects[$fields_name[$i]][$counter] = $fetch_query[$fields_name[$i]];
    }
    $counter++;
}
return $objects;
}

但是在这个函数中我不能认识$query是不是mysql_query字符串。 我怎么能检测出来?

3 个答案:

答案 0 :(得分:0)

假设您只想知道如何检查特定变量是否为字符串,则可以使用is_string()函数。

我会将函数重写为:

$select_query = mysql_query(/* Your query */);
$store_result = fetch_query_objects($select_query);

function fetch_query_objects($query){

    $counter = 0;
    $objects = array();

    while ($fetch_query = mysql_fetch_assoc($query)) {

        $fields_name = array_keys($fetch_query);

        for ($i = 0; $i < count($fields_name); $i++) { 
            $objects[$fields_name[$i]][$counter] = $fetch_query[$fields_name[$i]];
        }

        $counter++;
    }

        return $objects;
}

/* Use $store_result here */

不幸的是,我无法判断该函数的逻辑是否有效,因为我不熟悉mysql_*函数(也已弃用)。我建议您开始查看PDOmysqli并尽快开始使用它们。

答案 1 :(得分:0)

你可以这样检查..

$rows = mysql_nrows($select_query);

   if($row!=0){// execute function 
   }else {
        //don't execute function
    }

答案 2 :(得分:0)

我找到了答案:

$select_query = mysql_query("...");
fetch_query_objects($select_query);

function fetch_query_objects($query){
    $objects = array();
    if (gettype($query)=="resource") {
        if ((get_resource_type ($query))=="mysql result") {
            $counter = 0;
            while ($fetch_query = mysql_fetch_assoc($query)) {
                $fields_name = array_keys($fetch_query);
                for ($i=0; $i < count($fields_name); $i++) { 
                    $objects[$fields_name[$i]][$counter] = $fetch_query[$fields_name[$i]];
                }
                $counter++;
            }
        }
    }
    return $objects;
}