जवाब PHP documentation में वास्तव में है । एक ही नाम के अन्य स्तंभ (रों) तक पहुंचने के लिए, आप या तो mysql_fetch_row()
का उपयोग करके संख्यात्मक सूचकांक के साथ परिणाम तक पहुँचने या उर्फ नाम जोड़ने की जरूरत। उपनाम के बारे में mysql_fetch_array()
वर्णन में उदाहरण देखें। "
Especialy mysql_fetch_array()
लगता है जब आप सबसे अच्छे उम्मीदवार बनने के लिए चुनिंदा बयान में तारे का उपयोग पर जोर देते हैं:
$row = mysql_fetch_array($result, MYSQL_BOTH)
तो फिर तुम $row[name]
द्वारा और $row[col_number]
द्वारा ambigous एक के लिए unambigous क्षेत्रों का उल्लेख कर सकते हैं, लेकिन वह अपने कोड के पोर्टेबिलिटी की सीमा (शायद MySQL के अगले संस्करण के लिए जा रहा है कॉलम को एक अलग क्रम में वापस करें?)। अनुशंसित समाधान आपकी क्वेरी को फिर से लिखना और स्टार का उपयोग करने और अस्पष्ट लोगों के लिए सभी आवश्यक फ़ील्ड सूचीबद्ध करना है - उपनाम का उपयोग करना।
आपको एक त्रुटि अस्पष्ट कॉलम बताते हुए मिल चाहते हैं - डेटाबेस समान नाम के साथ दो कॉलम की जो उपयोग करने के लिए नहीं बता सकता। –
@rexem: यह सच नहीं है। एसक्यूएल बिल्कुल सही है, त्रुटि तब होगी जब क्वेरी स्पष्ट रूप से कॉलम नाम का चयन कर रही हो जो दोनों तालिका में मौजूद है, लेकिन तालिका उपसर्ग निर्दिष्ट नहीं है। – quosoo