Drupal में, मैं एक एसक्यूएल इस प्रकार निष्पादित कर सकते हैं:Drupal db_query के PHP सरणी के परिणाम को परिवर्तित करना संभव है?
:$query_object = db_query("SELECT * FROM {nodes}");
तो मैं जानता हूँ कि क्वेरी केवल एक ही परिणाम देता है (ताकि केवल 1 पंक्ति और 1 स्तंभ), मैं सीधे इसके साथ प्राप्त कर सके
$rows[] = array();
while (($row = db_fetch_object($query_object) != FALSE) {
$rows[] = $row;
}
अगर वहाँ ऐसा करने के लिए एक आसान तरीका है मैं सोच रहा हूँ:
$result = db_result($query_object);
अगर मैं एक से अधिक परिणाम मिल गया है, मैं उन्हें लूप करने के लिए की तरह कुछ के साथ की जरूरत है? क्या कोई तरीका है कि मैं एक ही कथन के साथ सभी परिणामों को सरणी में स्थानांतरित कर सकता हूं? या यह काम नहीं कर रहा है, क्योंकि db_result एक कर्सर जैसी वस्तु देता है, जहां आप हर बार केवल एक पंक्ति प्राप्त कर सकते हैं?
कभी कि Drupal में क्या आपके चाहता है किसी भी समारोह में देखा है, लेकिन यह बहुत आसान एक आवरण समारोह है कि जब तक करता बनाने के लिए() आपके लिए लूप। –
मैं बस सोच रहा हूं कि कोई अन्य ड्रूपल डेटाबेस एपीआई है, जो कर्सर आधारित नहीं है। लेकिन ऐसा लगता है कि यह अस्तित्व में नहीं है। – Sebi
[db_result()] (http://api.drupal.org/api/drupal/includes--database.mysql.inc/function/db_result/6) क्वेरी का उपयोग तब नहीं किया जाता जब क्वेरी एक पंक्ति लौटाती है, लेकिन जब क्वेरी सिर्फ एक फ़ील्ड का चयन करता है। आपके उदाहरण में, मैं उस फ़ंक्शन का उपयोग 'चयन * से {नोड्स} ...' के साथ नहीं करूँगा, लेकिन 'nodes} से 'चयन करें' के साथ ...'। – kiamlaluno