mysql_query はパラメーターを取らないため、比較が表示されませんか?
PDO オブジェクトでは、要素をパラメーターにバインドする必要があります。これは長い道のりです:
$stmt->bindParam(":namedParam", 1, PDO::PARAM_INT);
これは省略形であるため、内部的に PDO は上記を実行し、それ自体に追加の作業を行う必要があります。
$stmt->execute(array($value1, $value2, $etc));
クエリが次のようになっている場合:
INSET INTO mytbl VALUES (?, ?, ?, ?, ?)
$data 配列は次のようになります。
$data = array($val1, $val2, $val3);
NULL
2 つの値をどこに挿入する必要があると思いますか?
1位と3位?
?PDOはそれをどのように知る必要がありますか?
さらに、その質問に対する答えがわかっている場合でも、PHP で処理できます。
function queryMyTable($val1, $val2, $val3, $val4 = null, $val5 = null) {
...
$stmt->execute(array($val1, $val2, $val3, $val4, $val5));
}