1. 程式人生 > >laravel呼叫資料庫時繫結引數

laravel呼叫資料庫時繫結引數

laravel在使用sql語句的時候在繫結引數的時候和其他時候有些地方會不太一樣

接下來小結一下

其他時候我們繫結引數的時候可以支援一對多,一個引數可以繫結到sql語句的多處地方

寫法一

$sql='DELETE FROM zzz_code_material
WHERE material_classify_id=:material_classify_id  OR father_classify_id=:material_classify_id';
$st=$this->sqlHelper->prepare($sql);
$st->bindValue(':material_classify_id', $material_classify_id,PDO::PARAM_STR);

【問號賦值】寫法二

$sql='DELETE FROM zzz_code_material
WHERE material_classify_id=?  OR father_classify_id=?';
$st=$this->sqlHelper->prepare($sql);
$st->bindValue(1, $material_classify_id,PDO::PARAM_STR);
$st->bindValue(2, $material_classify_id,PDO::PARAM_STR);

 

而我們再laravel中即使他賦值的引數是一樣的,我們也需要一個一個

來給他賦值

寫法一【如下,即使是同一個引數,我們也給他加上1、2,然後再一個一個賦值】

$sql=DB::delete('DELETE FROM zzz_code_material
				WHERE material_classify_id=:material_classify_id  OR father_classify_id=:material_classify_id2',
				array('material_classify_id'=>$material_classify_id, 'material_classify_id2'=>$material_classify_id));

寫法二【使用問號賦值】如下,無需加引號,直接賦值

		$sql=DB::delete('DELETE FROM zzz_code_material WHERE material_classify_id=?  OR father_classify_id=?',
				array($material_classify_id,$material_classify_id));