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

`mysqli_real_escape_string` . के प्रभाव को उलटना

PHP के हाल के संस्करणों के लिए बंदरमैट्रिक्स उत्तर गलत है (मैंने इसे 7.3 पर परीक्षण किया)। mysqli_real_escape_string() केवल कुछ पात्रों से बच निकलता है। यहां एक फ़ंक्शन है जो इसे उलट देगा:

function reverse_mysqli_real_escape_string($str) {
    return strtr($str, [
        '\0'   => "\x00",
        '\n'   => "\n",
        '\r'   => "\r",
        '\\\\' => "\\",
        "\'"   => "'",
        '\"'   => '"',
        '\Z' => "\x1a"
    ]);
 }

ठीक से लिखे गए आवेदन में, इस फ़ंक्शन की शायद ही कभी आवश्यकता होनी चाहिए। किसी भी एस्केपिंग को स्वचालित रूप से संभालने के लिए आपको पैरामीटर बाध्यकारी के साथ पीडीओ का उपयोग करना चाहिए। मैंने इस फ़ंक्शन को केवल कुछ विरासत कोड को संभालने के लिए बनाया था जो इनपुट पर सब कुछ से बच रहा था और मुझे मूल डेटा पर वापस जाने के लिए एक रास्ता चाहिए था।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WORDPRESS के लिए तालिका आयात करते समय त्रुटि (स्थिति 25 के निकट) (एक विदेशी कुंजी त्रुटि)

  2. MySQL त्रुटि #1071 - निर्दिष्ट कुंजी बहुत लंबी थी; अधिकतम कुंजी लंबाई 767 बाइट्स है

  3. एक-से-एक तालिका संबंध का उपयोग करने के क्या लाभ हैं? (माई एसक्यूएल)

  4. MYSQL PHP चेतावनी:mysql_query() पैरामीटर 1 को स्ट्रिंग होने की अपेक्षा करता है

  5. java.sql.SQLException:परिणाम सेट की शुरुआत से पहले