2015-06-02 4 views
5

में लौटाई गई पंक्तियों की संख्या की संख्या मैं MySQL के साथ ओओपी PHP सीख रहा हूं। मैं एक क्वेरी चलाने की कोशिश कर रहा हूं जो पंक्तियों की संख्या को मुद्रित करना चाहिए। उस ईमेल 4 पंक्तियों में हैओओपी PHP

$con= mysqli_connect('localhost','root','','dealinte_cms') or die(mysqli_error()); 
$email="[email protected]"; 
if($r=$con->prepare("SELECT * FROM user WHERE email=? ")){ 
$r->bind_param("s",$email); 
    if(!$r->execute()){ 
     echo mysqli_errno($con); 
    } 
    else{ 
     $rowCount=$r->num_rows; 
     echo $rowCount; 
    } 
} 

मेरी डेटाबेस में, तो यह 4 प्रिंट करना चाहिए, लेकिन यह 0

क्या गलत मेरी कोड के साथ दिखाता है: मेरे php कोड के रूप में नीचे है?

उत्तर

3

आप store result

$r->store_result(); 

और वह भी, से पहले आप पंक्ति संख्या के लिए जाँच करना चाहिए। मैनुअल पेज

कृपया, यह ध्यान रखें कि जो लोग कभी कभी इस कार्य के लिए इस महत्वपूर्ण मैनुअल प्रविष्टि को पढ़ने के लिए याद आती है के लिए पर इस नोट देखें:

आप mysqli_stmt_store_result() का उपयोग नहीं करते हैं, और इस फ़ंक्शन को कॉल तुरंत एक तैयार कथन निष्पादित करने के बाद, यह फ़ंक्शन आमतौर पर 0 लौटाएगा क्योंकि इसका कोई तरीका नहीं है कि परिणाम सेट में कितनी पंक्तियां हैं, क्योंकि परिणाम सेट अभी तक स्मृति में सहेजा नहीं गया है।

टिप

आप mysql के साथ OOP PHP सीख रहे हैं के बाद से, यह ध्यान रखें कि कनेक्शन mysql के लिए आपके द्वारा बनाए प्रक्रियात्मक शैली वाक्य रचना में था महत्वपूर्ण है। PHP में रहते हुए आप इससे दूर हो सकते हैं लेकिन कई अन्य भाषाओं में आप नहीं करेंगे। इसे ओओपी सिंटैक्स में क्यों परिवर्तित नहीं करें?

$con= new mysqli('localhost', 'my_user', 'my_password', 'my_db'); 
+0

ओह, मैं कि पता नहीं था। – partho

0

आपको store_result() का उपयोग करके परिणाम संग्रहित करने की आवश्यकता है। अधिक here पढ़ें:

तो अपने कोड होना चाहिए कुछ की तरह:

<?php 
$con= mysqli_connect('localhost','root','','dealinte_cms') or die(mysqli_error()); 
$email="[email protected]"; 
if($r=$con->prepare("SELECT * FROM user WHERE email=? ")){ 
$r->bind_param("s",$email); 
    if(!$r->execute()){ 
     echo mysqli_errno($con); 
    } 
    else{ 
     $r->store_result(); 
     $rowCount=$r->num_rows; 
     echo $rowCount; 
    } 
} 
?> 
संबंधित मुद्दे