我尝试编写获取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字符串。
我怎么能检测出来?
答案 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_*
函数(也已弃用)。我建议您开始查看PDO
和mysqli
并尽快开始使用它们。
答案 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;
}