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

एक longblob के लिए MySQL डेटाबेस से खाली PHP आउटपुट

मैं इस तरह कास्टिंग करके बेस 64 लाइन को आउटपुट करने के लिए मूल फ़ंक्शन प्राप्त करने में कामयाब रहा:

    $stmt = $this->con->prepare("SELECT owner, pet_name, last_seen, contact, description, CAST(photo as CHAR(1000000) CHARACTER SET utf8) as photo, location FROM Pets");

जबकि इसने बेस 64 स्ट्रिंग को प्राप्त करने की अनुमति दी थी, इसमें अभी भी अवांछित वर्ण शामिल थे। अवांछित वर्ण JSON_ENCODE के कारण थे। नीचे मैं इसे ठीक करने के लिए उपयोग करता था।

मूल रूप से, 1. जोड़े गए वर्णों को हटा दें और 2. JSON_ENCODE को JSON_UNESCAPED_SLASHES के साथ एस्केप वर्णों को प्रिंट न करने के लिए कहें।

समारोह के लिए getReports()

function getReports() {
    $stmt = $this->con->prepare("SELECT owner, pet_name, last_seen, contact, description, CAST(photo as CHAR(1000000) CHARACTER SET utf8) as photo, location FROM Pets");
    $stmt->execute();
    $stmt->bind_result($owner, $pet_name, $last_seen, $contact, $description, $photo, $location);

    $reports = array();

    while($stmt->fetch()) {
        $report  = array();
        $report['owner'] = $owner;
        $report['pet_name'] = $pet_name;
        $report['last_seen'] = $last_seen;
        $report['contact'] = $contact;
        $report['description'] = $description;
        $photo = str_replace("\n","",$photo);
        $photo = str_replace("\\/","/", $photo);
        $photo = stripcslashes($photo);
        $report['photo'] = $photo;
        $report['location'] = $location;

        array_push($reports, $report);
    }

    return $reports;
}

और एपी लिपि में,

. से वापसी को बदल दिया
echo json_encode($resultArray);

करने के लिए

echo json_encode($resultArray, JSON_UNESCAPED_SLASHES);

अब सब कुछ शानदार काम करता है। क्या यह सर्वोत्तम अभ्यास है? मुझे यकीन नहीं है। मुझे यकीन है कि बेस 64 को स्टोर करना शायद नहीं है...




  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 mysql के माध्यम से जेसन डेटा को कैसे स्टोर और पढ़ा जाए?

  2. क्या मैं अनुमान लगा सकता हूं कि मेरी Zend Framework अनुक्रमणिका कितनी बड़ी होगी? (और कुछ त्वरित क्यू:एस)

  3. मारियाडीबी अद्यतन के बाद शुरू नहीं कर सकता:[चेतावनी] परीक्षण फ़ाइल नहीं बना सकता /home/mysql/beta.lower-test

  4. मूल पंक्ति को हटा या अद्यतन नहीं कर सकता:एक विदेशी कुंजी बाधा विफल हो जाती है

  5. MySQLdb.cursor.execute एकाधिक प्रश्नों को नहीं चला सकता