मैं अपने कुछ कोड पुराने mysql एक्सटेंशन से PHP में mysqli एक्सटेंशन में परिवर्तित कर रहा हूं। इससे पहले, mysql विस्तार के साथ, मैं कुछ कोड इस तरह एक तालिका में प्राथमिक कुंजी खोजने के लिए इस्तेमाल किया था:कैसे बताएं कि स्तंभ mysqli का उपयोग कर प्राथमिक कुंजी है या नहीं?
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result, $i);
if ($meta->primary_key == 1){
$primary_key = $meta->name;
}
$i++;
}
$meta->primary_key == 1
बहुत सुविधाजनक था।
अब तक मैं mysqli का उपयोग करने के कोड में बदल जाती है
while ($i < $result->field_count) {
$meta = $result->fetch_field;
if ($meta->primary_key == 1){
$primary_key = $meta->name;
}
$i++;
}
बेशक, डॉक्स here में देखने से हम देख सकते हैं कि $meta->primary_key
mysqli में मौजूद नहीं है। मैं देखता हूं कि $meta->flags
है। यह मेरा सबसे अच्छा अनुमान है, हालांकि मुझे यकीन नहीं है कि मेरे पास प्राथमिक कुंजी होने पर flags
का मूल्य होना चाहिए।
क्या कोई जानता है कि मैं कैसे बताता हूं कि mysqli का उपयोग कर तालिका के लिए कौन सी कॉलम प्राथमिक कुंजी है?
धन्यवाद!
//get primary key
$primary_key = '';
while ($meta = $result->fetch_field()) {
if ($meta->flags & MYSQLI_PRI_KEY_FLAG) {
$primary_key = $meta->name;
}
}
"वर्णन 'table_name'" क्वेरी चलाएं? – Waygood
अच्छा बिंदु, जिसके लिए डीबी के साथ एक अलग लेनदेन की आवश्यकता होगी, जो करने योग्य है। मैं परिणाम सेट में पहले से प्राप्त जानकारी का उपयोग करना पसंद करता हूं। –