यह एक नौसिखिया गलती होनी चाहिए, लेकिन मैं इसे नहीं देख रहा हूं। यहाँ मेरी कोड से एक टुकड़ा है:php mysqi bind_param चर की संख्या तैयार कथन में पैरामीटर की संख्या से मेल नहीं खाती
$mysqli = mysqli_connect($dbCredentials['hostname'],
$dbCredentials['username'], $dbCredentials['password'],
$dbCredentials['database']);
if ($mysqli->connect_error) {
throw new exception('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types
WHERE year = ? AND make = '?' ORDER by model");
$stmt->bind_param('is', $year, $make);
$stmt->execute();
जब मैं $ वर्ष के लिए मूल्यों को बाहर गूंज और $, मैं मान देख रहा हूँ, लेकिन जब मैं इस स्क्रिप्ट को चलाने, मैं एक शून्य मान निम्न चेतावनी मिलता है, और मेरी लॉग फ़ाइल में प्रकट होता है:
PHP Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
इस मामले में, साल प्रकार int में डेटाबेस (10) में है, और मैं एक प्रति है कि एक पूर्णांक के रूप में कास्ट किया गया था गुजर की कोशिश की है, और बनाने के एक varchar (है 20) utf8_unicode_ci एन्कोडिंग के साथ। क्या मैं कुछ भूल रहा हूँ?
के साथ इस तरह कास्टिंग कर रहे हैं कि आपने ** ** ** bind_param विधि में क्या करने का प्रयास किया है? –
यह $ प्रकार स्ट्रिंग है। "है" को यह इंगित करना चाहिए कि पहला पैरामीटर एक पूर्णांक है और दूसरा एक स्ट्रिंग है। – TMorgan