Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将MYSQL日期格式转换为php的字符串格式_Php_Mysql_Variables_Date - Fatal编程技术网

将MYSQL日期格式转换为php的字符串格式

将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

我需要帮助将日期格式转换为字符串格式

我有一个mysql数据库列中的变量,类型是DATE

我想对它执行php explode()函数,但是我得到一个错误,说参数必须是字符串

这是从数据库获取变量的代码:

$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
或类似工具从资源链接获取行。有关如何查询数据库的示例,请参阅。