我在mysql中有一个名为apply(id,user,time_apply)的数据库。我已将time_apply的结构设置为“datetime”
我有一个php脚本,它试图从用户的pc中获取当前的日期和时间,并将其存储在我的数据库中。用户的pc可以在世界任何地方。
<?php
$timeString='
<script language="javascript">
var today = new Date();
document.write(today);
</script> ';
//id is my database primary key, so I don't insert anything inside
mysql_query("INSERT INTO `apply` VALUES ('', '$session_user_id', '$timeString') ");
?>
问题是在执行mysql_query之后,我无法在数据库中插入当前用户的日期和时间。我得到的是:0000-00-00 00:00:00
知道怎么修好它吗?
您完全误解了PHP和JS是如何操作的。在上面的代码段中没有任何实际的JS代码。您有一个PHP字符串,它恰好包含一些看起来像JavaScript的文本。
但是由于PHP完全不知道JS是什么,更别提执行它了,您实际上是将JS代码作为日期值填充到MySQL中。MySQL当然会说“这到底是什么”,并将其设置为默认的0000-00-00“提供了错误的日期”值。
请记住:PHP在服务器上执行,JS在客户机上执行。
当服务器端DB完全能够生成自己的日期时,完全没有理由让客户端生成日期供服务器端DB使用:
INSERT ... VALUES(..., now());
^^^^^---literally all you need.
我不知道为什么你会想要捕捉客户的时间,但下面是你会怎么做的。
首先,您需要将javascript和php脚本分开。您可以使用php输出javascript,但不能使用编写的方式。
您可以创建一个隐藏元素,该元素在您选择的javascript事件触发时设置。我使用了submit按钮的onclick事件,您可以使用page_load或其他。然后可以从php$_POST variables集合中提取该值。
<script language="javascript">
function submit_OnClick() {
document.getElementById("clientDate").value = currentdate.getDate() + "/"
+ (currentdate.getMonth()+1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
}
</script>
<?php
$timeString=$_POST["clientDate"];
mysql_query("INSERT INTO Apply (id, user, time_apply) VALUES ('', '$session_user_id', '$timeString') ");
?>
<form method="post">
<input type='hidden' id='clientDate' />
<input type="submit" value="submit" id='submitForm' OnClick="submit_OnClick();"/>
<!-- The rest of your form goes here -->
</form>
有关javascript日期的更多选项和分析,请参阅这篇相关文章:
用JavaScript获取当前日期和时间
丑陋的编码(但这是您想要的):)
$timeString='
<script language="javascript">
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd="0"+dd
}
if(mm<10) {
mm="0"+mm
}
today = mm+"/"+dd+"/"+yyyy + " " +today.getHours() + ":" + today.getMinutes()+":" + today.getSeconds();
document.write(today);
</script> ';
echo "INSERT INTO `apply` VALUES ('test', '1', '$timeString') ";
输出
INSERT INTO `apply` VALUES ('test', '1', ' 05/29/2014 22:50:4 ')
我已经在我的应用程序中添加了一个按钮。当我点击按钮时,当前时间保存到SP。但我想把这个保存到我的firebase数据库里。我怎么能这么做?
我正在使用spring boot和sql server,当我有以下代码获得DB时间时,得到了意外的子树结尾;
问题内容: 我正在尝试创建一个页面,该页面可以列出保存在数据库中的产品,然后客户可以查看可用产品的列表。我遇到的问题是Java中的日期。 我收到的错误消息是 有人可以告诉我怎么了吗? 问题答案: 更换 通过
本文向大家介绍C#从数据库读取数据到DataSet并保存到xml文件的方法,包括了C#从数据库读取数据到DataSet并保存到xml文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#从数据库读取数据到DataSet并保存到xml文件的方法。分享给大家供大家参考。具体实现方法如下: DataSet有一个WriteXml方法可以直接将数据保存到xml文件 希望本文所述对大家的C#程
我怎样才能做到这一点? 请帮帮我.