Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP MySQL mysql_fetch_assoc सरणी कुंजियों के साथ 'के रूप में' पदनामों द्वारा प्रतिष्ठित

जब तक आप * . का उपयोग कर रहे हैं वाइल्डकार्ड, आप पाएंगे कि एक ही नाम के कॉलम आपके सहयोगी सरणी में समान कुंजियों को अधिलेखित कर देंगे।

आपको कम से कम एक टेबल के कॉलम को कॉलम एलियास देना होगा:

select t1.*, t2.col1 as t2col1, t2.col2 as t2col2, ...
from table as t1 LEFT JOIN table as t2 ON t1.id=t2.rank

या फिर आप वाइल्डकार्ड का उपयोग कर सकते हैं, लेकिन पंक्ति को एक क्रमिक सरणी के रूप में प्राप्त कर सकते हैं:

$row = mysql_fetch_array($result, MYSQL_NUM);
echo $row[4];

अपनी टिप्पणी दोबारा दें:एसक्यूएल में सिर्फ * है वाइल्डकार्ड का अर्थ है "किसी दी गई तालिका के सभी कॉलम, उनके प्राकृतिक नामों से।" आपको स्तंभ-दर-स्तंभ के आधार पर स्पष्ट रूप से स्तंभों को उपनाम देना होगा।

अपवाद:यदि आप SQLite का उपयोग करते हैं, तो एक pragma full_column_names है। विकल्प जो परिणाम सेट को योग्य कॉलम नाम लौटाता है, ताकि आप * . का उपयोग कर सकें लेकिन कुंजियाँ तालिका उपनामों के साथ उपसर्ग करती हैं। यह SQLite-विशिष्ट और गैर-मानक SQL है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP पीडीओ में क्वेरी सफलतापूर्वक निष्पादित होने पर कैसे बताना है?

  2. MYSQL एकाधिक पंक्तियों के आधार पर तालिकाओं से चयन करें

  3. mysql डेटाबेस में अरबी डेटा डालें

  4. MySQL:टाइपकास्टिंग NULL से 0

  5. कॉलम की गणना दूसरे कॉलम से की जाती है?