【发布时间】:2014-11-25 18:51:13
【问题描述】:
我有一个问题,我试图在用户更新表单时获取当前日期。我想要做的是而不是发布用户在日期输入的内容。我希望系统获取日期。如何使 update_process.php 页面获取当前日期。在 $_POST[date] 绑定参数部分。我尝试在其中添加 getdate() 但这不起作用。我不知道该怎么做。
<?php
$serverName = "localhost";
try {
$db= new PDO( "sqlsrv:server=$serverName ; Database=systems_requests", "test", "test");
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch(Exception $e) {
die( print_r( $e->getMessage() ) );
}
$sql = 'UPDATE requests SET id=:id, studentId= :studentId, name= :name, date= :date WHERE id= :id';
$stmt = $db->prepare($sql);
$stmt->bindParam(':id', $_POST['id'], PDO::PARAM_INT);
$stmt->bindParam(':studentId', $_POST['studentId'], PDO::PARAM_STR);
$stmt->bindParam(':name', $_POST['name'], PDO::PARAM_STR);
$stmt->bindParam(':date', $_POST['date'], PDO::PARAM_STR);
try {
$stmt->execute();
} catch(PDOException $exception) {
echo "Error: " . $exception->getMessage();
}
?>
我将如何更改计数以反映这一点,以计算有多少 Bob 在今天的日期注册。
<?php
$stmt = $db->prepare("SELECT COUNT(*) AS rows_cnt FROM students WHERE name='Bob' AND date=getdate()");
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['rows_cnt'];
}
?>
【问题讨论】:
-
除了修复 $stmt->execute() 周围的 try catch 之外,它是否打印出任何错误或异常?
-
检查您的“请求”表中的类型,看看您需要在那里发送什么样的数据。检查这个其他问题的日期时间格式。 stackoverflow.com/questions/8266651/…
-
SQL Server 和 PHP,嗯?这不是我经常看到的组合。无论如何,使用
$_POST['date']有什么意义? -
为什么不直接使用 MySQL 的
NOW()函数并将您的列设置为DATETIME?name= :name, date= NOW()并删除它的绑定。 -
@simply 害怕是的,我的 try catch 有问题我该如何解决这个问题
标签: php sql-server pdo