제안에 따라 준비된 문을 포함하려고합니다.변수의 수가 매개 변수의 수와 일치하지 않습니다. - 그렇습니다.
그러나 PHP는 제 코드를 허용하지 않습니다. 내가 쿼리에 두 questionmarks 및 bind_Param에서 두 개의 변수를 가지고있는 반면
$stmt = $link->prepare('SELECT COUNT(*) FROM `table` WHERE `company` = CONVERT(_utf8 \'?\' USING latin1) COLLATE latin1_german1_ci AND `password` = CONVERT(_utf8 \'?\' USING latin1) COLLATE latin1_german1_ci');
$stmt->bind_Param('ss', $firmaP, $kennwP);
$firmaP = utf8_encode($_POST['company']);
$kennwP = utf8_encode($_POST['password']);
if ($stmt->execute()) {
if($row = $stmt->fetch()) {
echo "OK";
}
else
{
echo "NO";
}
}
나는
Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
를 얻을.
해결 방법?
편집 : \ '? \'를?
로 연결Fatal error: Call to a member function bind_param() on a non-object
당신하지 쿼리에서 인용 문자열 인수 바인드 매개 변수를 사용하여; 당신은 당신을 위해 bind 문을 남겨 둡니다. –
당신은 매개 변수를 인용하지 않습니다. db 엔진이 그렇게합니다. –
'$ firmaP'와'$ kennwP'는 문장에 바인드 할 때 값을 가지고 있습니까? – datasage