sql >> データベース >  >> RDS >> Mysql

バインド値INSERTINTOmysql perl

    リストを提供することになっています 引数の文字列を含む単一のスカラー引数ではなく、各疑問符に1つずつ。 質問に答えたとき 以前、私はあなたにそうするように言いました:

    my @values = map param($_), @account_field_order; # add values to array
    push @values, $status;                  # for simplicity
    $new_row = join ", ", ("?") x @values;  # add ? for each value
    
    ... # basically same code as before, except the execute statement:
    
    $sth->execute(@values);      # arguments given will be inserted at placeholders
    

    $new_rowの場所 はプレースホルダー文字列であり、引数リストではありません。 しない:

    $new_row .= "'" . param($field) . "', ";
    ...
    $new_row .= "'$status'";
    $sth->execute(qq($new_row)) or die $DBI::errstr;
    

    $new_row スカラーであるため、1つの引数としてカウントされます。質問マークの数と同じ長さの配列またはリストが必要です。



    1. R12および11iでOTAを設定する方法

    2. どのSQLクエリに時間がかかりますか? (MYSQL)

    3. javaを使用してmysqlデータベースから他のmysqlデータベースにデータをコピーします

    4. 投稿数を数えるにはどうすればよいですか?