[英]Converting mssql datetime2 to mysql datetime
我正在将数据从 mssql 复制到 php 变量,需要将其保存到 mysql。
<html>
<head></head>
<body>
<?php
//MSSql code
$serverName = "exserver"; //serverName\instanceName
$connectionInfo = array( "Database"=>"IPD", "UID"=>"user", "PWD"=>"read");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$tsql = "SELECT rs_date from inc";
$stmt = sqlsrv_query( $conn, $tsql);
//SQL Conn
$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "edge_dashboard"; /* Database name */
$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC)) {
$d= $row["0"];
//sql code
$sql = "INSERT INTO critical_sr (sr_lg_dt) VALUES ('$d')";
if ($con->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$con->close();
}
?>
</body>
</html>
我什至尝试了以下内容:
$d= $row["0"];
$sub_dat =$d->format('Y-m-d H:i:s');
$sql = "INSERT INTO critical_sr (sr_lg_dt) VALUES ('$sub_dat')";
我总是遇到这个错误“可恢复的致命错误:无法将类 DateTime 的对象转换为字符串”。
MSSQL 中row["0"]
的数据类型是datetime2
。 我需要将它以日期时间格式保存在 MySQL 中。
感谢你的帮助。 解决办法很简单。 我改变了代码如下。
$date = $row["0"]; $result = $date->format('Ymd H:i:s');
我在 MySQL 中将 DateTime 大小设置为 6,这在插入时增加了不需要的精度。 我删除了大小,现在可以正常工作了。 没有错误。 干杯
您可以使用
$sDat =$d->format('Y-m-d H:i:s');
创建一个字符串变量并在插入语句中使用 ti
$sql = "INSERT INTO critical_sr (sr_lg_dt) VALUES ('$sDat')";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.