이 나에게 나는 이런 식으로 뭔가가PHP 후 그 실행
를 PDO로 이동하기 때문에 많은 좌절 : 아무것도하지만 휴식 나던,
이제$sql = "select * FROM $table where id=:id";
$this->stmt = $this->dbh->prepare($query);
$this->stmt->bindValue($param, $value, $type);
bindValue(:id => $this->user_id);
$this->stmt->execute();
선택 실행을 나는 $ this- 에코 경우, 예상 결과를 얻을 그나마> 나는 이런 식으로 뭔가 얻을 STMT :
PDOStatement Object ([queryString] => UPDATE `users`
SET user_active= :user_active, user_activation_hash= :user_activation_hash
WHERE user_id = :user_id AND user_activation_hash = :verification_code)
은 이제 그렇게 문제가 전달 된 값을 가능성이 높습니다 좋아 보이는을, 그래서 대신의 숫자를 통과 나는 따옴표를 엉망으로 만들었고 $ id를 문자열로 전달했지만 변수를 평가하지 못했지만 실제 진술 값이 무엇인지 알아낼 방법을 찾지 못했습니다. 더 쉬운 방법이 있어야합니다. 표준 mysql은 간단히 쿼리를 변수에 할당하고 그것을 반향하거나 mysql_error를 사용하거나 죽이면됩니다.
FWIW 나는 debugDumpParams을 시도하고는이 반환, 그 값 내가 디버깅 할 유사한 디버그 덤프 값이나 뭔가가없는 추측에
UPDATE `users` SET user_active= :user_active, user_activation_hash= :user_activation_hash WHERE user_id = :user_id AND user_activation_hash = :verification_code Params: 4 Key: Name: [12] :user_active paramno=-1 name=[12] ":user_active" is_param=1 param_type=2 Key: Name: [21] :user_activation_hash paramno=-1 name=[21] ":user_activation_hash" is_param=1 param_type=2 Key: Name: [8] :user_id paramno=-1 name=[8] ":user_id" is_param=1 param_type=2 Key: Name: [18] :verification_code paramno=-1 name=[18] ":verification_code" is_param=1 param_type=2
을
나는 당신이'where id = : id'를 의미한다고 생각합니까? – Mike
정확하고 편집 됨 – user1547410
글쎄, 예상되는 결과가 아니라면 무엇을해야합니까? –