私の履歴スクリプトをmysql_query()からPDOに変換する方法を解明しようとしています。私はあなたがランダムに選択できる4つの入力フィールドを持つフォームを持っています。つまり、取得しようとしている情報に応じて、0,1,2,3,4フィールドが選択できます。PHP PDOによる動的クエリ
私はこのようなDBを照会しようとしました:
$q = $db->prepare('SELECT date,
name,
action
FROM history
WHERE name = :name
AND action = :action');
$q->bindParam(':name', $Name, PDO::PARAM_STR, 20);
$q->bindParam(':action', $Action, $PDO::PARAM_STR, 20);
$q->execute();
しかし、私が選択した任意のフィールドを持っており、全体の歴史が示されたくない場合は、これは動作しません。するmysql_queryで
()私はこれを行うだろう。そこには$名ませんか$がアクション彼らは単にクエリに含まれていない場合を意味
mysql_query('SELECT date,
name,
action
FROM history
$Name
$Action');
。
古いクエリを$ q = $ db-query( '')にコピー/ペーストすればよいですか?しかし、その種のPDOを使用する目的を破る。
変数が空の場合は、スペースを追加してみました。うまくいきませんでした。 –
スペースは値であるため、その値を含む列とのみ一致しますが、列は常にそれ自体と一致します。 –
私はあなたのソリューションをphpmyadminで試してみました。今は唯一の問題は、私がbindParamを使用したときに列になるのではなく、検索語に囲まれているということです。任意のアイデアをどのようにそれらを削除するには?私はそれをバインドするときにPDO :: PARAM_STRを使用しています。 –