हर बार मुझे अपनी connection.php
फाइल को इंडेक्स फाइल के साथ अपने सब-फोल्डर्स में रखना होता है। मैं यह समझने में विफल रहा कि मुझे अपनी कनेक्शन फ़ाइल को हर बार अपने सब-फ़ोल्डर्स के अंदर क्यों रखना है।
मैंने अपनी कनेक्शन फ़ाइल को रूट फ़ोल्डर में डालने का भी प्रयास किया है, और इसे इसके पथ नाम /connection.php
से शामिल किया है, लेकिन यह मैसकल डेटा नहीं लाता है।
यह require''
, include''
, include_once''
के साथ काम नहीं करता है
मुझे इस विषय पर ज्यादा मदद नहीं मिली। क्या ऐसा करने का कोई बेहतर तरीका नहीं है?
अपडेट करें:
फ़ाइल संरचना
localhost/school/icse/index-icse
मुझे अपना connect_mysqli.php
हर उप-फ़ोल्डर में इस तरह रखना होगा
कोड:
<?php
include'connect_mysqli.php';
$output = '';
$sql = "SELECT * FROM city WHERE state_id = '".$_POST["stateId"]."' ORDER BY city_name";
$result = mysqli_query($link, $sql);
$output = '<option value="">Select City</option>';
while($row = mysqli_fetch_array($result))
{
$output .= '<option value="'.$row["city_id"].'">'.$row["city_name"].'</option>';
}
echo $output;
?>
शुक्रिया!
conSub
वह फ़ोल्डर है जिसमें मेरी कनेक्शन फ़ाइल है connect_mysqli.php
और दूसरा लाल वृत्त दिखाता है कि अब हम इस उप-फ़ोल्डर में हैं।
आम तौर पर इसे काम करना चाहिए। मैं समझ नहीं पा रहा हूँ, समस्या क्या है... मैंने कोशिश की
include("/conSub/connect_mysqli.php");
include("conSub/connect_mysqli.php");
include_once("/conSub/connect_mysqli.php");
include_once("conSub/connect_mysqli.php");
require("/conSub/connect_mysqli.php");
require("conSub/connect_mysqli.php");
कृपया जांचें कि यह मेरी डेटा संरचना है
3 जवाब
सबसे पहले जांचें कि क्या आपने फ़ाइल का सही नाम टाइप किया है।
अन्य कुछ संभावित समाधान:
यदि आपकी फ़ाइलें connect_mysqli.php
और index.php(या जो भी) एक ही निर्देशिका में हैं, तो आप इन विकल्पों का उपयोग कर सकते हैं
include_once("./connect_mysqli.php");
या
include_once("connect_mysqli.php");
यदि आपका connect_mysqli.php
public_html/conSub
में है और जिस फ़ाइल को कनेक्शन की आवश्यकता है वह school/icse
में है, तो आप इस तरह उपयोग कर सकते हैं
include_once("../../conSub/connect_mysqli.php");
या अगर आपका public_html dir रूट डायरेक्टरी है तो आप इसका भी इस्तेमाल कर सकते हैं
include_once("/conSub/connect_mysqli.php"); //only if public_html is root dir
PHP में शामिल हैं वर्तमान निर्देशिका (यानी स्क्रिप्ट की निर्देशिका जिसे कहा जाता था) में देखेंगे, और जो कुछ भी php.ini में शामिल_पथ के रूप में परिभाषित किया गया है। आप इसे set_include_path()
के साथ भी जोड़ सकते हैं।
तो किसी बिंदु पर आपको अपनी स्क्रिप्ट के भीतर मूल निर्देशिका के संदर्भ में रखना होगा, या तो:
set_include_path('/var/www/html/school');
require_once("connect_mysqli.php");
या
require_once("/var/www/html/school/connect_mysqli.php");
न तो आदर्श है क्योंकि आप कोड में अपनी साइट के स्थान को हार्डकोड कर रहे हैं - यह बहुत पोर्टेबल नहीं है!
बेहतर अभ्यास (और अधिकांश PHP फ्रेमवर्क क्या करते हैं), सब कुछ एक index.php फ़ाइल के माध्यम से चलाना है। यह मानते हुए कि आप अपाचे का उपयोग करते हैं, आप अपने URL को अनुकूल बनाने के लिए mod_rewrite और .htaccess फ़ाइलों का उपयोग कर सकते हैं, जैसे:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
फिर आपके index.php में आपका ग्लोबल शामिल होना चाहिए और कुछ रूटिंग लॉजिक होना चाहिए, जैसे:
require_once "connect_mysqli.php";
if(file_exists($_GET['page'] . '.php') {
require_once ($_GET['page'] . '.php');
}
else {
require_once "error.php";
}
ऐसे कई तरीके हैं जिनसे आप इसे सुधार सकते हैं, लेकिन यह आपको नंगी हड्डियाँ देगा।
एक तरफ के रूप में, आपके कोड में आप अपने डेटाबेस क्वेरी में एक कच्चा $_POST वैरिएबल डालकर SQL इंजेक्शन हमलों के लिए खुद को खोल रहे हैं। कम से कम इससे बचना चाहिए। कृपया इसे पढ़ें: http://php.net/manual/en/ Security.database.sql-injection.php
कृपया इसे आजमाएं अगर मैं समझूं
<?php require_once("../../conSub/connect_mysqli.php");?>
Requ_once का उपयोग करें और /connection.php के साथ अपना सबफ़ोल्डर नाम निर्दिष्ट करें, मुझे आशा है कि यह काम करेगा
Dimulai dengan "/" kembali ke direktori root dan mulai dari sana
Dimulai dengan "../" memindahkan satu direktori ke belakang dan mulai dari sana
"../../" से शुरू होकर दो निर्देशिकाएं पीछे की ओर जाती हैं और वहां से शुरू होती हैं (और इसी तरह ...)
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
php
PHP एक व्यापक रूप से उपयोग किया जाता है, उच्च-स्तरीय, गतिशील, वस्तु-उन्मुख, और व्याख्या की गई स्क्रिप्टिंग भाषा मुख्य रूप से सर्वर-साइड वेब विकास के लिए डिज़ाइन की गई है। PHP भाषा के बारे में सवालों के लिए इस्तेमाल किया।