2012-10-02 4 views
0

dob를 "html"형식의 "날짜"로 설정하고 내 stu 테이블에서 문자열로 가져 오므로 varchar로 만들었지 만 null은 기본값으로 저장 중입니다PHP 준비 문에 대한 날짜 형식

코드를 확인 ...

/* Prepared statement, stage 1: prepare */ 
if (!($stmt = $mysqli->prepare("INSERT INTO `stu` (`name`, `gender` , `dob`) VALUES (
?, ?, ?) "))) { 
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error; 
} 

/* Prepared statement, stage 2: bind and execute */ 

if (!$stmt->bind_param('sss', $name , $gender , $dob)) { 
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error; 
} 
+0

$ dob 변수에 원하는 값이 포함되어 있습니까? 아마도 mysqli 문을 검사하기 전에 에코를 남기십시오. –

+0

어떻게'$ dob'를 정의하는지 보여주십시오. – MrCode

답변

2

당신이 게시 코드는 OK입니다 (우리가 볼 수 있지만 실제로 execute() 쿼리 경우). 문제는 우리가 볼 수없는 코드입니다. 여기서는 $dob을 정의합니다.

$dobbind_param()으로 전달하면 해당 문자열은 개체 또는 다른 것이 아닌 문자열이어야합니다. 형식 $dob을 문자열로 지정하면 테이블에 삽입 할 수 있습니다.

VARCHAR 대신 DATE으로 필드를 변경하는 것도 좋습니다. varchar 필드는 문자열 날짜 형식을 허용하지만 DATE 필드는 YYYY-MM-DD이 필요합니다.

+0

내 잘못은 ... definiton에 문제가있었습니다. –