$ count = 0; $ Result1 = mysql_query ("सेब्स से एफ्ड्यूड करें sbsw WHERE fword = '"। $ SearchText। "'"); जबकि ($ result2 = mysql_fetch_array ($ result1)) {$ result3 = mysql_query ("चुनें fsyn से wrsyn कहां fwid = '"। $ Result2 [$ count]। "'"); $ Result4 = mysql_fetch_array ($ result3); प्रिंट $ परिणाम 4 [$ count]। '& Lt; br & gt;'; $ गिनती ++; } Mysql_free_result ($ result1); mysql_free_result ($ result3); उदाहरण के लिए - यदि आपके पास तालिका संरचना की तरह है, तो उदाहरण के लिए - उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए,
आईडी | नाम | उपनाम | भूमिका 1 जॉन स्मिथ उपयोगकर्ता 2 पीटर क्यूप उपयोगकर्ता 3 मार्क ज़ीई एडमिन
जब आप किसी क्वेरी को SELECT * FROM तालिका
निष्पादित करते हैं और फिर लूप $ result = mysql_fetch_array ($ Query)
, $ परिणाम
हमेशा एक सरणी (4) वाले
[0] = & gt; आईडी, [1] = & gt; नाम, [2] = & gt; उपनाम, [3] = & gt; इसलिए, जब आप क्वेरी को निष्पादित करते हैं तो $ result3 = mysql_query ("से चुनें fsyn wrsyn जहां fwid = '"। $ Result2 [$ count]। "'");
, पहले पुनरावृत्ति में, $ count
हो जाएगा 0
जो पिछली क्वेरी से परिणाम के लिए महत्वपूर्ण है, हालांकि किसी भी अन्य यात्रा में यह वृद्धि होगी और यह एक अपरिभाषित कुंजी के लिए प्रेरित करेगा इसका मतलब है कि आपको वैरिएबल $ count
का उपयोग करना बंद करना होगा और इसके बजाय केवल $ result2 [0]
का उपयोग करना होगा
इसके अलावा, इसका बेहतर तरीका MySQL JOIN
का उपयोग कर रहा होगा, आपके उदाहरण में यह SELECT w.fsyn से होगा sbsw का JOIN wrsyn w ONS Fwid = w.fwid WHERE s.fword = "'। $ SearchText।' ';
Comments
Post a Comment