0

配列を取得して、MYSQLデータベースの個別の行に挿入しようとしています。

基本的に、1つのフィールドに入力したい上位5つのリストのHTMLフォームがありますが、各値はコンマで区切られています。したがって、たとえば(Artist 1、Artist 2、Artist 3など)

次に、これらの5つの値を5つの値に分離し、MYSQLデータベースの5つの行に挿入する必要があります。

したがって、HTMLフォームは次のようになります。

 <tr>
 <td>Loud Rock</td>
 <td><label for="lr_topfive"><input type="text" placeholder="" name="lr_topfive" size="75"
 maxlength="100" autofucus required /></label></td>
 </tr>

フォームの値は、次のコードを含む別のphpファイルに送信されます。

$val = $_POST['lr_topfive'];
$data = str_getcsv($val);

??????


$lr_one = mysql_prep($_POST['lr_one']);
$lr_two = mysql_prep($_POST['lr_two']);
$lr_three = mysql_prep($_POST['lr_three']);
$lr_four = mysql_prep($_POST['lr_four']);
$lr_five = mysql_prep($_POST['lr_five']);

$query = "INSERT INTO xyz_wb (lr_one, lr_two, lr_three, lr_four, lr_five) VALUES ('{$lr_one}','{$lr_two}', '{$lr_three}', '{$lr_four}', '{$lr_five}')";
$result = mysql_query($query, $connection);
    if ($result) {
        redirect_to("email-ready.php");
    } else {
    //display error message
    echo "<p>Yikes!</p>";
    echo "<p>" . mysql_error() . "</p>";
    }

'lr_topfive'値が解析され、最初の2行で個別の値に分離されていることがわかりますが、これらの値をMYSQLDBに挿入する前に何をすべきかわかりません。

4

1 に答える 1

1

私はあなたが探しているだけだと思います:

$top_five_array = explode(',', $_POST['lr_topfive']);

その後:

$lr_one = mysql_prep($top_five_array[0]);
$lr_two = mysql_prep($top_five_array[1]);
....

ただし、入力フィールドに正確に 4 つのカンマがない場合、これは壊れます。

それとは別に、PDO または mysqli を使用して準備済みステートメントに切り替える必要があります。質問の下のコメントを参照してください。

于 2012-08-13T16:37:34.330 に答える