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

यूआरएल को फिर से लिखें, आईडी को क्वेरी स्ट्रिंग में शीर्षक के साथ बदलें

निश्चित रूप से यह संभव है, एक PHP स्क्रिप्ट के लिए आपका .htaccess कुछ इस तरह दिख सकता है:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

यह निर्देशिका या फ़ाइल नामों को छोड़कर सभी URL को "index.php?url=THE-TYPED-ADDRESS" पर फिर से लिख देगा।

फिर आप अपने index.php में आईडी निर्धारित करने के लिए $_GET['url'] के मान का उपयोग कर सकते हैं:

// init DB layer
if (isset($_GET['url']) && !empty($_GET['url'])) {
  $url = my_filter_function($_GET['url']); // filter input
  $pdo = my_get_pdo_function(); // get configured PDO objected
  $query = "SELECT id FROM my_router_table WHERE url = ? LIMIT 1"; // use prepared statements for security/performance reasons

  $stmt = $pdo->prepare($query);
  $stmt->bindValue(1, $url, PDO::PARAM_STR); // bind the value as a string

  // ternary operator expanded for readability
  if ($stmt->execute()) {
    $id = $stmt->fetch(PDO::FETCH_ASSOC);
  } else {
    $id = -1; // 404 page
  }

  // fetch content/render page according to ID
}

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उम्मीद/टीसीएल स्क्रिप्ट में डंप फ़ाइल से MySQL डेटाबेस कैसे बनाएं?

  2. एक MySQL क्वेरी परिणाम को एक .CSV फ़ाइल में कैसे सहेजें

  3. मिलान किए गए शब्दों की संख्या गिनना

  4. ट्री संरचना बनाने के लिए PHP रिकर्सन सहायता की आवश्यकता है

  5. SQL सर्वर डेटाबेस को MySQL में माइग्रेट कैसे करें?