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

PHP MySQLi ने स्टेटमेंट तैयार किए और कॉलम का सबसेट प्राप्त किया

मुझे लगता है कि आप bind_result() फ़ंक्शन के लिए उन सभी चरों को लिखना नहीं चाहते हैं। आप bind_result() फ़ंक्शन के बजाय नीचे दिए गए फ़ंक्शन का उपयोग कर सकते हैं। इसे अपनी $stmt ऑब्जेक्ट पास करें और आप अपने इच्छित फ़ील्ड के साथ मानक ऑब्जेक्ट की एक सरणी वापस प्राप्त करेंगे।

function getResult($stmt)
{
    $valid_fields = array('title', 'date_created'); // enter field names you care about

    if (is_a($stmt, 'MySQLi_STMT')) {
        $result = array();

        $metadata = $stmt->result_metadata();
        $fields = $metadata->fetch_fields();

        for (; ;)
        {
            $pointers = array();
            $row = new \stdClass();

            $pointers[] = $stmt;
            foreach ($fields as $field)
            {
                if (in_array($field->name, $valid_fields)) {
                    $fieldname = $field->name;
                    $pointers[] = &$row->$fieldname;
                }
            }

            call_user_func_array('mysqli_stmt_bind_result', $pointers);

            if (!$stmt->fetch())
                break;

            $result[] = $row;
        }

        $metadata->free();

        return $result;
    }
    return array();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूनिक्स समय को यूटीसी डेटाटाइम में बदलें

  2. क्या mysql में उच्च पंक्तियों की गिनती होती है, इसका मतलब अच्छा या बुरा है?

  3. PHP/MySQL डेटाबेस से छवि हटाएं

  4. ap_proxy_connect_backend अक्षम करने वाला कार्यकर्ता (127.0.0.1)

  5. MySQL में जन्म तिथि से आयु प्राप्त करें