어떻게 PHP pdo로 문자열 데이터 유형을 정수로 변환합니까? 내가 과 PDO::PARAM_STR
을 사용하려고 시도했지만 return false
이고 postgresql
에 데이터를 삽입하려고 할 때 오류가 발생했습니다. 이 문제를 해결할 방법이 있습니까?PHP pdo에서 문자열을 정수로 변환
코드 :
기능 (생성) {
// to get time-stamp for 'created' field
$this->getTimestamp();
//write query
$query = "INSERT INTO
" . $this->table_name . "
(id_barang, nama_barang, harga_beli, harga_jual, created) VALUES (?, ?, ?, ?, ?)";
$stmt = $this->conn->prepare($query);
$stmt->bindParam(1, $this->id_barang, PDO::PARAM_STR);
$stmt->bindParam(2, $this->nama_barang, PDO::PARAM_STR);
$stmt->bindParam(3, $this->harga_beli, PDO::PARAM_INT);
$stmt->bindParam(4, $this->harga_jual, PDO::PARAM_INT);
$stmt->bindParam(5, $this->created);
if($stmt->execute()){
return true;
}else{
return false;
}
}
는 false를 반환 및 기능()가 false를 만들 경우 내가 경고 사용하고 있습니다. harga_beli 및 harga_jual은 postgresql의 정수 데이터 유형입니다. HTML 양식에서 자바 스크립트 함수를 사용하여 0을 구분합니다. 예 : 60.000, 숫자는 데이터베이스의 정수 여야합니다.
오류가있는 경우 질문에 오류 + 설명을 입력하십시오. 질문 할 때 항상 유용합니다. 또한 코드의 발췌 부분을 보여주기 때문에 자신이하는 일이 무엇보다 명확합니다. 질문 작성에 대한 도움말을 보려면 도움말 센터를 참조하십시오. http://stackoverflow.com/help – hakre
오류가 발생했습니다. – Shoe
PDO 데이터베이스 드라이버는 PHP 매개 변수를 사용할 때 해당 매개 변수를 자동으로 '강제 변환'합니다. 즉 PDO :: PARAM_INT라고 말하면 값이 유효한 정수를 나타내는 문자열이면 올바르게 작동합니다. –