【发布时间】:2015-06-14 22:22:22
【问题描述】:
我有以下 register.php 代码
<?php
if( $_POST )
{
include("php_connect/php_connect.php");
$start_year = $_POST['start_year'];
$start_month = $_POST['start_month'];
$start_day = $_POST['start_day'];
$start_hour = $_POST['start_hour'];
$start_minute = $_POST['start_minute'];
$place = $_POST['place'];
$salah = $_POST['salah'];
$rakat = implode(",", $_POST['rakat']);
$query = "INSERT INTO performed_salah
(year, month, date, time, place, prayer, rakat, reg_date) VALUES
('$start_year', '$start_month', '$start_day', ('$start_hour:$start_minute'), '$place', '$salah', '$rakat', NOW())";
if ($conn->query($query) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $query . "<br>" . $conn->error;
}
$conn->close();
}
?>
在我的表中,我有一个列性能。 我正在尝试创建一个类似于
的 CASE STATEMENTCASE WHEN prayer='A' and rakat=('Rakat-A,Rakat-B') then performance = 100%
WHEN prayer='A' and rakat=('Rakat-A') or rakat=('Rakat-B') then performance = 50%
WHEN prayer='B' and rakat=('Rakat-A,Rakat-B,Rakat-C,Rakat-D) then performance = 100%
WHEN prayer = 'B' and rakat=('Rakat-A,Rakat-B,Rakat-C') then performace = 75%
WHEN prayer = 'B' and rakat=('Rakat-A,Rakat-B') then performace = 50%
WHEN prayer = 'B' and rakat=('Rakat-A') then performace = 25%
我该怎么做呢?
我试过了,但出错了:
"INSERT INTO performed_salah('$start_year', '$start_month', '$start_day', ('$start_hour:$start_minute'), '$place', '$salah', '$rakat',
(case when prayer = 'fajar' and (rakat='2Sunnat,2Faradh') then " . '100%' . "
when prayer = 'fajar' and (rakat='2Sunnat' or rakat='2Faradh') then " . ' '50%' . "end) '$performance', NOW())";
【问题讨论】:
-
“我试过了,但出错了:” - 存在?
-
另外,我假设
'$start_year', '$start_month', '$start_day'... 是列。 -
year, month, date, time为什么不使用一个完整的日期?
标签: php mysql insert case insert-into