私のPHPコード
<?php include 'config.php';
if(isset($_POST['submitbtn'])){
$date = $_POST['datefield'];
$newDate = date("Y-m-d", strtotime($date));
$result = mysql_query("Call seat(".$newDate.")");
if($result == FALSE){
echo "Sorry Query Failed!";
}
else
{
echo "Success";
}
}
?>
html>
<head>
</head>
<body>
<form method="post">
<input type="date" name="datefield"><br>
<input type="submit" name="submitbtn">
</form>
</body>
</html>
これは、定義を使用してストアド プロシージャを呼び出します。
CREATE DEFINER=`root`@`localhost` PROCEDURE `seat`(IN `dateP` VARCHAR(20))
NO SQL
begin
declare i int default 1;
while i < 250 do
insert into seat (Seat_ID,dateP) values (i,dateP);
set i = i + 1;
end while;
end
テーブル席は以下の構造になっています。
CREATE TABLE IF NOT EXISTS `seat` (
`ID` int(100) NOT NULL AUTO_INCREMENT,
`Seat_ID` int(4) NOT NULL,
`Row_ID` varchar(2) NOT NULL,
`Col_ID` int(4) NOT NULL,
`Amount` int(3) NOT NULL,
`DateP` date NOT NULL,
PRIMARY KEY (`ID`)
)
ここでは、250 行すべてに DateP 列が 0000-00-00 として挿入されます。私が間違っていたところを助けてください。