将日期传递给 PHP 中的 ADO 命令对象参数
Passing dates to ADO command object parameter in PHP
我的代码看起来像这样:
$cmd = new com('ADODB.command');
$cmd->activeConnection = $CONNECTION;
$sql = 'UPDATE MyTable SET WhenPlanned = ? WHERE ID = ?';
$cmd->commandText = $sql;
$p1 = $cmd->createParameter('WhenPlanned', adDate, adParamInput, 0, $dateVal)
$p2 = $cmd->createParameter('ID', adInteger, adParamInput, 4, $intVal);
$cmd->parameters->append($p1);
$cmd->parameters->append($p2);
$cmd->execute();
这只会产生以下错误:
PHP 致命错误:未捕获的异常 'com_exception' 消息为“来源:ADODB.Command
说明:应用程序为当前操作使用了错误类型的值。'
$dateVal 变量是日期的字符串表示形式。我已经尝试创建一个 PHP 日期时间对象来传递但无济于事...有谁知道如何传递 ADO 参数将接受的日期作为 PHP 中的参数?谢谢!
我创建了一个测试 table 来隔离和试验日期参数,并找到了一些有用的东西。我想这是一个日期格式问题。我在没有格式化的情况下传递了看起来像下面 date() 函数中的字符串的日期。
$cmd = new com('ADODB.command');
$cmd->activeConnection = $CONNECTION[SYSTEM];
$sql = 'INSERT INTO TestDateTable (testdate) VALUES (?)';
$cmd->commandText = $sql;
$d = date('Y-m-d H:i:s', strtotime('10/26/2015'));
$p1 = $cmd->createParameter('testdate', adDate, adParamInput, 0, $d);
$cmd->parameters->append($p1);
$cmd->execute();
这成功地在我的 table 中插入了一个日期。
我的代码看起来像这样:
$cmd = new com('ADODB.command');
$cmd->activeConnection = $CONNECTION;
$sql = 'UPDATE MyTable SET WhenPlanned = ? WHERE ID = ?';
$cmd->commandText = $sql;
$p1 = $cmd->createParameter('WhenPlanned', adDate, adParamInput, 0, $dateVal)
$p2 = $cmd->createParameter('ID', adInteger, adParamInput, 4, $intVal);
$cmd->parameters->append($p1);
$cmd->parameters->append($p2);
$cmd->execute();
这只会产生以下错误: PHP 致命错误:未捕获的异常 'com_exception' 消息为“来源:ADODB.Command 说明:应用程序为当前操作使用了错误类型的值。'
$dateVal 变量是日期的字符串表示形式。我已经尝试创建一个 PHP 日期时间对象来传递但无济于事...有谁知道如何传递 ADO 参数将接受的日期作为 PHP 中的参数?谢谢!
我创建了一个测试 table 来隔离和试验日期参数,并找到了一些有用的东西。我想这是一个日期格式问题。我在没有格式化的情况下传递了看起来像下面 date() 函数中的字符串的日期。
$cmd = new com('ADODB.command');
$cmd->activeConnection = $CONNECTION[SYSTEM];
$sql = 'INSERT INTO TestDateTable (testdate) VALUES (?)';
$cmd->commandText = $sql;
$d = date('Y-m-d H:i:s', strtotime('10/26/2015'));
$p1 = $cmd->createParameter('testdate', adDate, adParamInput, 0, $d);
$cmd->parameters->append($p1);
$cmd->execute();
这成功地在我的 table 中插入了一个日期。