php - 从 MIN(CAST(.. AS DATETIME)) 输出获取值到 php 错误

标签 php mysql sql datetime pdo

我在通过 PDO 查询获取结果时遇到了一个小问题:

$result = $db->prepare("SELECT MIN( CAST( Tstart AS DATETIME ) ) , MAX( CAST( Tend AS DATETIME ) ) , FROM TimeBase
WHERE Daynr = '131'");
$result->execute();
$keep = $result->fetch();

echo $keep['Tstart'];
echo $keep['Tend'];

产生错误:

Undefined index: Tstart
Undefined index: Tend

当我直接运行它时,Mysql语法本身会返回结果。 如果没有 MIN(CAST(.. AS DATETIME)),PDO 不会造成任何问题,所以我确信问题必须使用此语法进行处理,但我找不到正确的将其获取到 php 变量的方法(或本例中的 echo)。

所以我的问题是在这种情况下将获取的行理解为 PHP 变量的正确方法是什么?

从那里我可以使用此代码将其格式化为日期时间行中的时间吗?

$Start_Time = $keep['time(Tstart)'];

最佳答案

您可以将结果视为位置数组:

echo $keep[0];
echo $keep[1];

或者为您的列指定别名并将结果视为关联数组:

$result = $db->prepare("SELECT MIN( CAST( Tstart AS DATETIME ) ) AS tstart, 
MAX( CAST( Tend AS DATETIME ) ) AS tend
FROM TimeBase
WHERE Daynr = '131'");
$result->execute();
$keep = $result->fetch();

echo $keep['tstart'];
echo $keep['tend'];

请注意,顺便说一句,在 from 子句之前有一个多余的逗号。

关于php - 从 MIN(CAST(.. AS DATETIME)) 输出获取值到 php 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355524/

相关文章:

php - 在 PHP 的 "array"语句中使用单词 "use"

mysql - MySQL 中的动态Where 子句

c# - 灵活的方法参数?

php - 如何从 localhost(laravel、nodejs)调用 localhost?

php - php 中的 SQLite 字符集/字符编码更改

php - 不用 java/jquery 改变页面标题

php - 如何在mysql连接失败时打开缓存?

mysql - 各部门按薪资排名

mysql - 何时使用 SQL 数据库中什么类型的表关系

Java/MySQL dao 存储空值和空指针异常 - 保持简单