पर मैं एक समारोह है कि एक DB से सेटिंग हो जाता है पर व्यस्त हूँ करने के लिए कॉल, और अचानक, मैं इस त्रुटि का सामना किया:गंभीर त्रुटि: एक सदस्य समारोह bind_param() बूलियन
Fatal error: Call to a member function bind_param() on boolean in C:\xampp2\htdocs\application\classes\class.functions.php on line 16
आम तौर पर, यह होगा मतलब है कि मैं अनन्य टेबल और सामान से सामान का चयन कर रहा हूँ। लेकिन इस मामले में, मैं नहीं हूँ ...
यहाँ getSetting
समारोह है:
public function getSetting($setting)
{
$query = $this->db->conn->prepare('SELECT value, param FROM ws_settings WHERE name = ?');
$query->bind_param('s', $setting);
$query->execute();
$query->bind_result($value, $param);
$query->store_result();
if ($query->num_rows() > 0)
{
while ($query->fetch())
{
return $value;
if ($param === '1')
{
$this->tpl->createParameter($setting, $value);
}
}
}
else
{
__('invalid.setting.request', $setting);
}
}
$this->db
चर एक निर्माता के माध्यम से पारित कर दिया है। इसके अलावा, के बाद से मैं एक डेटाबेस का इस्तेमाल कर रही हूँ, मेरी डेटाबेस कनेक्शन
public function __construct($db, $data, $tpl)
{
$this->db = $db;
$this->tpl = $tpl;
$this->data = $data;
$this->data->setData('global', 'theme', $this->getSetting('theme'));
}
:
class Database
{
private $data;
public function __construct($data)
{
$this->data = $data;
$this->conn = new MySQLi(
$this->data->getData('database', 'hostname'),
$this->data->getData('database', 'username'),
$this->data->getData('database', 'password'),
$this->data->getData('database', 'database')
);
if ($this->conn->errno)
{
__('failed.db.connection', $this->conn->errno);
}
date_default_timezone_set('Europe/Amsterdam');
}
मैं पहले से ही कनेक्शन परीक्षण किया है, 100% सकारात्मक जरूरत के मामले में, यहाँ यह है यह इरादे के रूप में काम करता है। मैं एक विन्यास फाइल में डीबी कनेक्शन बातें सेट कर रहा हूं:
'database' => array(
'hostname' => '127.0.0.1',
'username' => 'root',
'password' => ******,
'database' => 'wscript'
)
अब अजीब बात है, तालिका मौजूद है, अनुरोधित सेटिंग मौजूद है, डीबी मौजूद है, लेकिन फिर भी, वह त्रुटि नहीं छोड़ी जाएगी। यहाँ कुछ सबूत है कि डीबी सही है:
आप '$ query-> error_list'if तैयार तरीकों झूठी (? और इस तरह $ क्वेरी झूठी होगा) एक त्रुटि दिखाई देता है रिटर्न जब कॉल करने के लिए सुझाव है कि क्यों है:
इस देखते हैं? – Adam
@Adam आपके पास एक बिंदु है। कॉलिंग '$ query-> error_list' समझ में आता है bind_param या एक निष्पादित विफल रहता है, लेकिन अगर' $ query' गलत है तो एक 'बुलाना चाहिए * mysqli पर error' या' error_list' * वस्तु, यानी '$ this-> db-> conn-> error_list'। – RobP