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

सुंदर लिंक में एपोस्ट्रोफ और कोलन

सबसे पहले, डेटाबेस में बच निकले तारों को संग्रहीत करने का विचार अजीब लगता है। MySQL मनमाना वर्णों के तारों को संग्रहीत करने में सक्षम है और यहां तक ​​कि सुरक्षित रूप से बाइनरी अनुक्रमों को भी संग्रहीत कर सकता है।

अब वास्तविक शीर्षक से सुंदर URL और पीछे की मैपिंग के बारे में। शीर्षक को URL-अनुकूल स्ट्रिंग में बदलने का विचार और फिर वापस आपकी समस्या को हल करने का सामान्य तरीका नहीं है, क्योंकि इस तरह के रूपांतरण को प्रतिवर्ती बनाना बहुत कठिन है। इस समस्या को हल करने का सामान्य तरीका डेटाबेस में अलग कॉलम होना है जिसमें यूआरएल-अनुकूल होने के लिए संशोधित पुस्तक शीर्षक है। साथ ही इस कॉलम में मूल्यों को अद्वितीय बनाया जाना चाहिए। तालिका इस तरह दिख सकती है:

+-----+-----------------------------+----------------------------+
| BID | book_title                  | book_title_url             |
+-----+-----------------------------+----------------------------+
|   1 | Why Can't I Be You: A Novel | why-can-t-i-be-you-a-novel |
+-----+-----------------------------+----------------------------+

आपको अपनी तालिका को इस कॉलम से अनुक्रमित करना चाहिए और book_title . के बजाय इसका उपयोग करना चाहिए अपने viewbook.php . के अंदर SQL क्वेरी में इस तरह की स्क्रिप्ट:

SELECT * FROM books WHERE book_title_url='$booktitle'

जहां $booktitle $_GET['booktitle'] . के माध्यम से प्राप्त पुस्तक शीर्षक शामिल है और SQL इंजेक्शन को रोकने के लिए ठीक से बच निकले।

तो आपके सुंदर URL http://www.example.com/title/why-can-t-i-be-you-a-novel जैसे दिखाई देंगे और अपाचे द्वारा उन्हें http://www.example.com/viewbook.php?booktitle=why-can-t-i-be-you-a-novel जैसी किसी चीज़ में फिर से लिखा जाएगा ।

फिर, यह सामान्य तरीका है कि आमतौर पर सुंदर URL कैसे लागू किए जाते हैं। आशा है कि यह आपके लिए भी काम करेगा।

मौजूदा रिकॉर्ड के लिए आप book_title_url . को भर सकते हैं कॉलम कुछ इस तरह से:

UPDATE books SET book_title_url=REPLACE(REPLACE(REPLACE(book_title, " ", "-"), ":", "-"), "'", "-");


  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 . के साथ एसक्यूएल इंजेक्शन हमला

  4. डेटाबेस डिज़ाइन:3 प्रकार के उपयोगकर्ता, अलग या एक टेबल?

  5. MySQL क्वेरी पिछले सप्ताह से डेटा का चयन करने के लिए?