mysql_queryでパラメータが取られないため、比較が表示されません。
PDOオブジェクトでは、要素をパラメータにバインドする必要があります。これは長い方法です:あなたのクエリは次のようになります場合は
$stmt->execute(array($value1, $value2, $etc));
:
$stmt->bindParam(":namedParam", 1, PDO::PARAM_INT);
これには、内部的にPDOが、まだ自分自身のためにいくつかの余分な作業で上記を行う必要があり、短い手で
INSET INTO mytbl VALUES (?, ?, ?, ?, ?)
とあなたの$ data配列のようになります。
$data = array($val1, $val2, $val3);
2つのNULL
値はどこに挿入されるべきだと思いますか?
第1 &第3 ?
's? PDOはそれをどのように知るべきですか?
あなたがその質問への答えを知っている場合はさらに、あなたはまだPHPでそれを処理することができます:あなたは、単にバグを処理し、適切なエラーを持っていなかった前に、それが働いた場合
function queryMyTable($val1, $val2, $val3, $val4 = null, $val5 = null) {
...
$stmt->execute(array($val1, $val2, $val3, $val4, $val5));
}
は単に無視/エラーを沈黙しました。 – ThiefMaster
PDO/mysqliは、提供しないと魔法のようにデータを生成することはできません。関連するDBフィールドが 'ヌルでない'かどうか –