2013-08-04 4 views
5

का उपयोग कर तालिका से एक पंक्ति और एक कॉलम के साथ डेटा प्राप्त करें मैं डेटा (Select 1 from table) जैसे डेटा लाने की कोशिश कर रहा हूं जो एक पंक्ति और एक कॉलम के साथ डेटा लौटाता है।पर्ल डीबीआई

मैं सरणी में डेटा को पुनः प्राप्त करने के लिए $sth->fetchrow_array विधि का उपयोग नहीं करना चाहता हूं। क्या डेटा स्केलर वेरिएबल में इकट्ठा करने का कोई तरीका है?

उत्तर

7

fetchrow_array एक सूची — रिटर्न यह एक सरणी — वापस जाने के लिए असंभव है और आप कुछ भी list-like है कि प्रदान कर सकते हैं इस तरह के एक my() के रूप में।

my $sth = $dbh->prepare($stmt); 
$sth->execute(); 
my ($var) = $sth->fetchrow_array() 
    and $sth->finish(); 

या आप बस `के लिए fetchrow_array` और` selectrow_array`

my ($var) = $dbh->selectrow_array($stmt); 
+0

प्रलेखन इस्तेमाल कर सकते हैं मतलब है कि वे वापस आ जाएंगे, प्रथम या अंतिम स्तंभ जब स्केलर संदर्भ में बुलाया जाता है, इसलिए जबकि मेरे ($ var) = ... में माता-पिता सामान्य रूप से महत्वपूर्ण होते हैं, तो उन्हें यहां छोड़ना संभव होना चाहिए। – ikegami

1
my ($value) = @{$dbh−>selectcol_arrayref("select 1 from table")} 

या बेहतर

my ($value) = $dbh−>selectrow_array($statement); 
संबंधित मुद्दे