sqlsrvドライバのこの構文に問題があります。TSで準備されたステートメント
これはうまく動作します:
$sql = "SELECT * from Table1 WHERE (Table1.Time >= {ts '2017-05-08
00:00:00' } AND Table1.Time < {ts '2017-05-10 00:00:00' })";
$stmt = sqlsrv_query($conn, $sql);
$tbl = "<table>"
while ($row = sqlsrv_fetch_array($stmt)){
$tbl .= "<tr><td>".$row[0]."</td><td>".$row[1]->format('Y-m-d H:i:s')."</td><td align=\"center\">".$row[2]."</td></tr>";
}
$tbl .= "</table>";
echo $tbl;
しかし、これはすべてのアウト動作しません:
$sql = "SELECT * from Table1 WHERE (Table1.Time >= {ts ? } AND Table1.Time < {ts ? })";
$stmt = sqlsrv_prepare($conn, $sql, array('2017-05-08 00:00:00','2017-05-10 00:00:00'));
$result = sqlsrv_execute($stmt);
$tbl = "<table>"
while ($row = sqlsrv_fetch_array($stmt)){
$tbl .= "<tr><td>".$row[0]."</td><td>".$row[1]->format('Y-m-d H:i:s')."</td><td align=\"center\">".$row[2]."</td></tr>";
}
$tbl .= "</table>";
echo $tbl;
は、私はこのエラーを取得する:
An invalid parameter was passed to sqlsrv_execute. [message] => An invalid parameter was passed to sqlsrv_execute.)
はへの適切な方法はあります日付変数を{ ts ? }
ステートメントに渡しますか?
空白のページが表示されたら、PHPでエラーログを有効にします。 Temateエンジンを使用して、データベースからUIを分離する必要があります。パラメータの使用は異なる - 削除{ts?}と?その姿勢で –