小编Try*_*der的帖子

我应使用哪种数据类型在MySQL中为应用程序存储time()?

我计划使用php中的time()捕获我网站上用户发起的活动的开始和结束。我不确定这是否是捕获开始/结束时间的最佳方法。无论如何,数据将存储在MySQL中,但同样我不确定应该使用哪种数据类型。根据我在stackoverflow上阅读的答案,使用的数据类型取决于应用程序的目的。

申请目的

  1. 最简单的是,我要记录活动的开始,结束(和持续时间)。可能使用time()。
  2. 在最复杂的情​​况下,我想根据用户何时执行某项活动,他们花了多少时间(总计)以及何时最成功/最不成功等(等等)来绘制统计信息根据开始/结束时间)。用户将来自世界各地。

更多信息 如果重复一项活动,将为其创建新记录。记录将不会更新。

最初,我曾计划在MySQL中存储unix时间戳(作为整数数据类型?),但是据我了解,这是一个坏主意,因为我将失去很多MySQL处理信息的能力。如果我将信息存储为DATETIME,然后又移动服务器,则所有时间都会根据服务器的本地时间而改变。我感到困惑的是,MySQL中的TIMESTAMP与Unix时间戳不同-如果使用time(),我将得到的时间戳。

我知道,对于某些系统,unix时间戳记最多只能保存2038年的日期,但是(现在)这并不重要。

问题:我应该使用time()捕获用户发起的活动的开始和结束时间吗?根据应用程序的目的,what datatype should I use to store the start and stop of user initiated activities?

谢谢

谢谢大家的回答。TBH我还不确定这两种方法,所以我仍在做一些研究。我选择TIMESTAMPS选项是因为我真的很想使用UTC(GMT)存储我的信息。遗憾的是,我将失去一些MySQL的内置时间函数。无论如何,再次感谢您的回答。

php mysql datetime

2
推荐指数
2
解决办法
1万
查看次数

使用Feed对话框时发布应用ID的风险有多大?

我担心当我使用Facebook的提要对话框时,我会将我的应用程序ID公开,从而开放利用.我的App Id公开存在很大风险吗?如果是,那些风险是什么?有什么方法可以最大限度地降低这些风险?

编辑:我一直在寻找的示例使用Javascript SDK,因此获取应用程序ID将相对容易.https://developers.facebook.com/docs/reference/dialogs/feed/

我没有看到使用PHP SDK的任何示例,但我认为App ID仍然存在于URL中.

EDIT2:在这里找到更多信息App_id欺骗和滥用

security app-id facebook-graph-api

2
推荐指数
1
解决办法
1464
查看次数

如何使用php将文本转换为unicode代码点?\ u0054\u0069\u0069\u0073

编辑2:我想使用php5将英文单词转换为unicode数字,然后生成为\ u****其中****是unicode数字.

在我原来的问题中,我错误地认为\ u是编码unicode的标准,实际上它只是在JavaScript中被转义(Thankyou Jukka K. Korpela指出这一点).即使我想在PHP中进行转换,转换后的unicode也会在JavaScript中使用.

我尝试了以下选项,但没有运气.deceze的回答虽然做到了,但非常感谢!

我试过的事情

我已经读过我可以使用iconv来做到这一点,但我没有运气,也找不到任何关于如何做的例子.

我也在这里试过Scott Reynen的代码如何在utf-8字符串中获取给定字符的代码点数?但我似乎无法让它发挥作用.当我尝试它时,我将脚本包含在一个文件中

$str='test';
echo utf8_to_unicode($str);
Run Code Online (Sandbox Code Playgroud)

它刚刚响起test.

我也读过我可以使用的

echo json_encode("test");
Run Code Online (Sandbox Code Playgroud)

但我又一次只能test打印到屏幕上.

任何帮助将非常感激.

EDIT1:实际上我认为它们被称为代码单元而不是代码点.

php regex unicode text

2
推荐指数
1
解决办法
6172
查看次数

为什么我不能在Joomla 2.5+中使用Jinput获得cookie的价值?

为什么我不能在Joomla 2.5+中使用Jinput获得cookie的价值?

细节

我以前用过

$cookievalue = JRequest::getVar( 'cookievalue', 'valueifnotexist', 'COOKIE' );
Run Code Online (Sandbox Code Playgroud)

但它在joomla 3中被弃用了.

所以我尝试使用Jinput

$jinput = JFactory::getApplication()->input;
$cookievalue = $jinput->get( 'cookievalue', 'valueifnotexist', 'COOKIE' );
Run Code Online (Sandbox Code Playgroud)

注意:根据http://docs.joomla.org/Retrieving_request_data_using_JInput,没有'COOKIE'过滤器.我尝试使用'STRING'作为过滤器,但结果大致相同.我期望获得cookie的值是格式date( 'Y-m-d H:i:s', time() )

结果

当我检查是否已检索到值时,我总是得到'valueifnotexist'我使用了firebug来确认cookie /值是否存在.

cookies get joomla2.5

2
推荐指数
1
解决办法
1966
查看次数

是(isset(..)|| array_key_exists(...))检测空值的更快方法,而不仅仅是array_key_exists(...))?

在研究如何检测数组中的空值时,我在http://www.php.net/manual/en/function.array-key-exists.php手册页下看到了一些用户的评论.

它说

if (isset(..) || array_key_exists(...))
{
...
}
Run Code Online (Sandbox Code Playgroud)

比做更快

if array_key_exists(...))
{
...
}
Run Code Online (Sandbox Code Playgroud)

发布了100000次运行的基准测试

array_key_exists() : 205 ms
is_set() : 35ms
isset() || array_key_exists() : 48ms
Run Code Online (Sandbox Code Playgroud)

我的问题:

(isset(..) || array_key_exists(...))不是更快array_key_exists()?如果是这样,为什么?

编辑:在写出这个问题时,我想我找到了答案.无论如何,我决定发布这个问题,看看我的想法是否正确.

php arrays isset array-key-exists

1
推荐指数
1
解决办法
875
查看次数

是什么让PDO比普通的mysql更安全?

一次又一次我在Stackoverflow上读到我应该使用PDO来访问MySQL,因为它更安全.我最近使用一些在线教程将一些select和insert语句更改为PDO,并发现它们与我的原始代码非常相似.这让我觉得也许我错过了一些东西.

那么,我的问题是what makes PDO safer than normal mysql?有什么能让这些例子更安全吗?

编辑:我已粘贴下面的插入代码.如果您能看到一些让它更安全的方法,请告诉我.

include 'dataB3S3.php';

try {
        $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
        /*** connect to DB ***/


        /*** INSERT data ***/
        $count = $dbh->exec("INSERT INTO $table(`instance` ,`uid`,`teid`) VALUES (NULL,'$userID','$teid')");

         /*** display the id of the last Auto INSERT ***/
        $lastInsertValue=$dbh->lastInsertId();

        /*** close the database connection ***/
        $dbh = null;  
}
Run Code Online (Sandbox Code Playgroud)

mysql pdo sql-injection

1
推荐指数
1
解决办法
406
查看次数

计算MySQL的持续时间是否有任何优势,而不是计算PHP中的持续时间(然后存储在MySQL中)?

问题:计算MySQL的持续时间与计算PHP的持续时间(然后存储在MySQL中)相比有什么好处吗?

我打算计算每次活动完成时的持续时间.持续时间将以PHP计算,然后插入MySQL数据库(以及其他数据,如开始时间,结束时间,用户,活动等).

但是,基于这个问题数据库规范化:我如何将数据制成表格?我得到的印象是,不是在插入时记录持续时间,而是应该根据MySQL DB中保存的起始值和结束值来计算它.

这听起来不错吗?如果是,有人可以解释原因吗?是否有任何推荐的方法来计算存储在MySQL中的值的持续时间?

编辑:

用户在线完成活动后,该活动的开始和结束时间将插入到数据库中.我打算使用这些值来计算持续时间(在MySQL中或在插入之前(使用PHP).持续时间稍后将用于其他计算.

php mysql

0
推荐指数
1
解决办法
343
查看次数