0

申し訳ありませんが、どこに問題があるのか​​ わかりません。

これは機能します

$query_select_date = "SELECT * FROM 2013Currencies WHERE DateOfCurrencyRate = '2001-03-23'";
$sql_select_date = $db->prepare($query_select_date);
$sql_select_date->execute();
$data_select_date = $sql_select_date->fetchAll(PDO::FETCH_ASSOC);

しかし、これは機能しません (空の配列を取得します)

$query_select_date = "SELECT * FROM 2013Currencies WHERE DateOfCurrencyRate = ?";
$cdate = "'2001-03-23'";// or $cdate = "2001-03-23"; or $cdate = 2001-03-23; result is the same
$sql_select_date->execute($cdate);
$data_select_date = $sql_select_date->fetchAll(PDO::FETCH_ASSOC);

何か間違いがあると思いますが、どこが分かりません。

4

3 に答える 3

5

配列を execute メソッドに渡す必要があります。

$sql_select_date->execute(array($cdate));

お役に立てれば

于 2013-08-02T08:05:15.093 に答える
0

?プレースホルダーを変数にバインドしていません$cdate。これを挿入します:

$sql_select_date->bindParam(1, $cdate);

ステートメントを実行する前に。

編集: lavavrik のソリューションは実際には短いため、bind必要でない限り、明示的に呼び出すよりもそれを使用することをお勧めします。

于 2013-08-02T08:05:12.863 に答える