1

こんにちは、MySQL コードを MySQLi に変換しています。これは、より安全だからですが、私の知る限り、MySQLi 自体はより安全ではありません。

このトピックの選択した回答でコンバーターを使用しました: MYSQL から MYSQLI への更新

コードは機能していますが、何をすべきか正確にはわかりません。クエリを準備する必要があることはわかっていますが、正確にどこでどのように準備すればよいかわかりません...

たとえば、5 つ以上の php 変数を含む INSERT クエリがある場合、それは問題ありませんか? 私はどのように行いますか?私が見つけたすべての例は1つの変数を使用しています...クエリの直前の行で準備しますか?

私は混乱しすぎていますか?これが非常に基本的なものである場合は申し訳ありませんが、私はこれに完全に慣れていないため、いくつかのガイドラインが必要です...

4

1 に答える 1

4

これは、複数のパラメーターを使用したINSERTクエリの例です。

/* create a prepared statement */
if ($stmt = $mysqli->prepare("INSERT INTO mytable (field1, field2, field3) VALUES(?, ?, ?)")) {

    /* bind parameters for markers */
    $stmt->bind_param("sss", $field1, $field2, $field3);

    /* execute query */
    $stmt->execute();

    /* close statement */
    $stmt->close();
}

ご覧$field1のとおり、、、$field2および$field3は文字列としてバインドされ(3つに注意s)、クエリ内のを置き換え?ます。

バインドパラメータタイプ

i-対応する変数の型は整数
d-対応する変数の型はdoubles-対応する変数
の型は文字列
b-対応する変数はblobであり、パケットで送信されます

于 2012-12-03T17:13:35.060 に答える