将MYSQL日期格式转换为php的字符串格式
我需要帮助将日期格式转换为字符串格式 我有一个mysql数据库列中的变量,类型是DATE 我想对它执行php explode()函数,但是我得到一个错误,说参数必须是字符串 这是从数据库获取变量的代码:将MYSQL日期格式转换为php的字符串格式,php,mysql,variables,date,Php,Mysql,Variables,Date,我需要帮助将日期格式转换为字符串格式 我有一个mysql数据库列中的变量,类型是DATE 我想对它执行php explode()函数,但是我得到一个错误,说参数必须是字符串 这是从数据库获取变量的代码: $duedate = mysql_query("SELECT duedate FROM mtt_todolist WHERE id=$id") ; 然后我想在$duedate上使用explode()函数 $date = explode("-", $duedate); 我得到这个错误: War
$duedate = mysql_query("SELECT duedate FROM mtt_todolist WHERE id=$id") ;
然后我想在$duedate上使用explode()函数
$date = explode("-", $duedate);
我得到这个错误:
Warning: explode() expects parameter 2 to be string,
所以我需要将$duedate转换为string类型。有什么帮助吗?谢谢。在
mysql\u-fetch\u-assoc
之后,您缺少了一个mysql\u-fetch\u-assoc
在mysql\u-query
$duedate
是一个资源之后,您需要使用mysql\u-fetch\u(某物)
来访问该资源的一行。(有几个函数的名称以mysql\u fetch
开头)
我更改了它,使$result是资源,$row是该资源中的一行,$duedate
是您要查找的数据
使用@Steve在此之前在代码中建议的
DATE\u格式。$duedate
是一个资源,您需要使用mysql\u fetch\u(某物)
访问该资源的一行。(有几个函数的名称以mysql\u fetch
开头)
我更改了它,使$result是资源,$row是该资源中的一行,$duedate
是您要查找的数据
使用@Steve在此之前在代码中建议的DATE\u格式
。您实际上可以在SQL中执行此操作,这样您就不必在PHP中处理它了:
例如,如果您希望将日期格式化为2000年4月12日,您可以执行以下操作:
SELECT
DATE_FORMAT(`duedate`, '%e %M, %Y') as `duedate`
FROM
`mtt_todolist`
WHERE
`id` = $id;
记住要确保$id
被转义,这样你就不会成为SQL注入的牺牲品了 实际上,您可以在SQL中执行此操作,这样就不必在PHP中处理它:
例如,如果您希望将日期格式化为2000年4月12日,您可以执行以下操作:
SELECT
DATE_FORMAT(`duedate`, '%e %M, %Y') as `duedate`
FROM
`mtt_todolist`
WHERE
`id` = $id;
记住要确保$id
被转义,这样你就不会成为SQL注入的牺牲品了 返回资源,而不是实际结果。阅读示例,了解如何正确使用它。看起来你可能想做这样的事情:
$query = sprintf('SELECT duedate FROM mtt_todolist WHERE id = %s',
mysql_real_escape_string($id)
);
$result = mysql_query($query);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
$date = explode('-', $row['duedate']);
...
}
返回资源,而不是实际结果。阅读示例,了解如何正确使用它。看起来你可能想做这样的事情:
$query = sprintf('SELECT duedate FROM mtt_todolist WHERE id = %s',
mysql_real_escape_string($id)
);
$result = mysql_query($query);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
$date = explode('-', $row['duedate']);
...
}
执行var\u转储($duedate)
。我打赌这也不是约会。它可能是一个结果集或“资源”。在这种情况下,$duedate->duedate
可能会起作用。您忘记使用mysql\u fetch\u row
或类似工具从资源链接获取行。有关如何查询数据库的示例,请参阅。执行var\u dump($duedate)
。我打赌这也不是约会。它可能是一个结果集或“资源”。在这种情况下,$duedate->duedate
可能会起作用。您忘记了使用mysql\u fetch\u row
或类似工具从资源链接获取行。有关如何查询数据库的示例,请参阅。