0

複数のオプションを選択できる選択入力があります。残念ながら、選択した値をデータベースに挿入する方法がわかりません。これが私が使用しようとしているコードです。これは、内破しようとしたときに渡された無効な引数を与えています。

助けてくれてありがとう...

これが私のphpです:

  $distribs = implode("|", $_POST["distributors"]); 
$distribs  = mysql_real_escape_string($distribs ); 


$distribs = mysql_real_escape_string($_POST['distributors']);
$sql="UPDATE customers SET distributors = '$distribs'
                                            WHERE id='$id'";

これが私の選択です:

  echo "<select name='distributors' multiple='multiple'>";
4

2 に答える 2

1

このようにしてみてください

echo "<select name='distributors[]' multiple='multiple'>";
于 2012-12-06T04:01:14.633 に答える
1

$_POST["distributors"];は配列ではありません。implode(); 機能するには配列が必要です。

PHP.net 関数 implode();

あなた$_POSTが正しい配列形式である場合。implode は配列を単一の文字列に変換します。

$_POST に a からの情報が含まれている場合、送信は、関数<select> </select>を必要とせずにデータベースに挿入できる単一の文字列になりますimplode();

$_POST が配列形式で送信されていることが確実な場合。DeDav が提案したように使用し ます。

$_POST にデータが入力されたら、このコマンドを実行します。

print_r($_POST['ディストリビューター'])

複数選択を使用している場合。DeDavが提案したように使用します。

echo "<select name='distributors[]' multiple='multiple'>";

于 2012-12-06T04:02:40.013 に答える