मैं डेटाबेस से पूछताछ के लिए MySQLi के साथ एक PHP स्क्रिप्ट लिखने की कोशिश कर रहा हूं।मैं पीएचपी में डेटाबेस से कैसे पूछता हूं और मेल खाने वाले उपयोगकर्ता इनपुट के आधार पर परिणाम कैसे लौटा सकता हूं?
मुझे यह अच्छा लगेगा कि उपयोगकर्ता के इनपुट को डेटाबेस के विरुद्ध चेक किया जा सकता है और फिर कॉलम 'conjugation' से परिणाम वापस कर सकते हैं यदि तालिका 'सामान्य'verbs' के कॉलम 'रूट' में स्ट्रिंग इनपुट में है ।
तो यदि उपयोगकर्ता इनपुट "foobar" जैसा कुछ है, और रूट-कॉलम में "foo" है, तो मैं इसे 'foobar' में 'foo' देखना चाहता हूं और उसमें 'conjugation' का मान वापस करूँगा पंक्ति।
मुझे ऐसा काम करने के लिए क्वेरी नहीं मिल रही है जैसा मैं चाहता हूं। जिसकी मैं नीचे उपयोग कर रहा हूं वह मूल रूप से केवल प्लेसहोल्डर है। मैं पूरी तरह समझ नहीं पा रहा हूं कि यह क्यों काम नहीं करता है।
function db_connect() {
static $connection;
if(!isset($connection)) {
$connection = mysqli_connect('localhost','user','password','Verb_Bank');
}
if($connection === false) {
return mysqli_connect_error();
}
return $connection;
}
function db_query($query) {
$connection = db_connect();
$result = mysqli_query($connection,$query);
return $result;
}
function db_quote($value) {
$connection = db_connect();
return "'" . mysqli_real_escape_string($connection,$value) . "'";
}
$m= db_query("SELECT `conjugation` from normal_verbs where `root` in (" . $y . ")");
if($m === false) {
// Handle failure - log the error, notify administrator, etc.
} else {
// Fetch all the rows in an array
$rows = array();
while ($row = mysqli_fetch_assoc($m)) {
$rows[] = $row;
}
}
print_r ($rows);
यह मुझे किसी भी त्रुटि दे रही है नहीं कर रहा है, इसलिए मुझे लगता है कि डेटाबेस से कनेक्ट कर रहा है:
मैं क्या कोशिश कर रहा हूँ, यह है।
EDIT2: मैं गलत था। मैं MySQLi को गलतफहमी के कारण कुछ स्पष्ट याद कर रहा था और तदनुसार कोड संपादित कर चुका हूं। तो उपरोक्त कोड काम करता है कि यह डेटाबेस से जुड़ता है और परिणाम देता है, लेकिन मैं अभी भी एक व्यवहार्य SQL कथन पर स्टंप कर रहा हूं जो मैं करना चाहता हूं।
की तरह, वे लॉग में कर रहे हैं। अपने उद्घाटन ' Php' टैग' error_reporting (E_ALL) के ठीक बाद आपकी फ़ाइल के शीर्ष पर त्रुटि रिपोर्टिंग जोड़ें; ini_set ('display_errors', 1); ' –
[आपकी स्क्रिप्ट एसक्यूएल इंजेक्शन अटैक के लिए जोखिम में है।] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php) [तैयार] (http://en.wikipedia.org/wiki/Prepared_statement) के बारे में जानें [MySQLi] के लिए कथन (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) । –
आप क्वेरी चला रहे हैं, लेकिन 'fetch() ' –