[英]Passing a Date from PDO to MySQL Stored Procedure
從MSSQL過渡到MySQL的過程即將結束,突然遇到了障礙。 我有許多存儲過程,我通過PDO從表單傳遞日期。 這在MSSQL中工作正常,但現在導致MySQL版本下降。
這就是我所說的程序:-
$command = "CALL AddThis (?, ?, ?, ?)";
$stpro = $conn->prepare($command);
$stpro->bindParam(1, $_POST['date'], PDO::PARAM_STR);
$stpro->bindParam(2, $_POST['type']);
$stpro->bindParam(3, $bool1, PDO::PARAM_BOOL);
$stpro->bindParam(4, $bool2, PDO::PARAM_BOOL);
// call the stored procedure
$returnvalue = $stpro->execute();
該程序開始如下:
PROCEDURE `AddThis `(
IN this_date date,
IN this_type nvarchar(50),
IN bool1 bool,
IN bool2 bool)
如果我完全刪除第一個變量,則該過程將觸發並且運行沒有問題。 一旦添加日期字段,整個事情就倒塌了。
有什么建議么?
好的,所以它可能不是最好的方法,但是我設法使它起作用(返回我想要的答案)。
我一直保留着php
$stpro->bindParam(1, $_POST['date'], PDO::PARAM_STR);
但是我將SQL in語句更改為
IN this_date nvarchar(10),
然后將此行添加到過程的主體中。
SET @datetouse = STR_TO_DATE(this_date, '%m,%d,%Y');
m / d / y是我在字符串中以“,”作為分隔符傳遞日期的格式。
就像我在上面說的那樣,這可能不是正確的方法,但是它有效,所以我很高興。 大聲笑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.