0

HTMLでdobをタイプ「date」として設定し、stuテーブルで文字列として取得しているため、varcharとして作成しましたが、デフォルト値としてnullが格納されています。

コードを確認してください...

 /* 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;
}
4

1 に答える 1

2

execute()投稿したコードは問題ありません (ただし、実際にクエリを実行したかどうかはわかりません)。問題は、あなたが定義するコードが見えないことです$dob

渡すときは、オブジェクトやその他のものではなく、文字列$dobbind_param()する必要があります。文字列としてフォーマット$dobすると、テーブルに挿入できるようになります。

DATEまた、フィールドをではなく に変更することをお勧めしますVARCHAR。varchar フィールドは任意の文字列日付形式を受け入れますが、DATEフィールドにはYYYY-MM-DD.

于 2012-10-02T12:32:02.070 に答える