[英]How can I detect string variable contains mysql_query string in PHP?
我嘗試編寫獲取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字符串。 我該如何檢測?
假設您只想知道如何檢查特定變量是否為字符串,則可以使用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
,並盡快使用它們。
你可以這樣檢查
$rows = mysql_nrows($select_query);
if($row!=0){// execute function
}else {
//don't execute function
}
我找到答案:
$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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.