رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل این ارور (bind value) فوری فوری فوری
#1
سلام و خسته نبباشید به دوستان عزیز
به این ارور ی نگا بندازید.
نقل قول:
Fatal error: Call to a member function bindValue() on a non-object in C:xampphtdocssmn_zncmslibsdatabase.php on line 27
مشکل از این ارور چیست ؟
این ارور رو ب یکی از فیلد های من میده و میگه که نیست یا محتوا نداره .
حالا من چطوری میتونم این فیلد رو پیدا کنم.
منظورم اینه که منظورش کدوم فیلده که نیست ؟
آیا روشی برای این ارور سراغ دارید ؟
ممنون

اینم تکه کد برای این ارور.


public function insert($table,$data){
	    $this->setAttribute(pdo::ATTR_EMULATE_PREPARES,false);
		ksort($data);
		$keyfild='`'.implode('`,`',array_keys($data)).'`';
		$valfild=':'.implode(',:',array_keys($data));
		$res=$this->prepare("INSERT INTO `$table` ($keyfild) VALUES ($valfild)");
	
		foreach($data as $key=>$val){
		$res->bindValue(":$key",$val);
		}
		$rr=$res->execute();
		if($rr){
		session::set('insert',true_matn);	
		}else{
		session::set('insert',false_matn);
		}
}


به این خط ارور میده
$res->bindValue(":$key",$val);
ب نظرتون مشکل از کجاست؟
ممنون
پاسخ
تشکر شده توسط:
#2
این کد رو تست کنید ببینید چه خطایی میده:
public function insert($table, $data)
{
	$this->setAttribute(pdo::ATTR_EMULATE_PREPARES, false);
	ksort($data);
	$keys = array_keys($data);
	$keyfild = '`' . implode('`,`', $keys) . '`';
	$valfild = ':' . implode(',:', $keys);
	try {
		$res = $this->prepare("INSERT INTO `$table` ($keyfild) VALUES ($valfild)");
		foreach($keys as $key) {
			$res->bindValue(":$key", $val);
		}
	}
	catch(PDOException $e) {
	    echo '<p>' . $e->getMessage() . '</p>' . PHP_EOL;
	}
	$result = $res->execute();
	session::set('insert', ($result ? true_matn : false_matn));
}
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان