2016-06-15 7 views
0

mysqlにデータを入力すると、以下のようになります。すべてのデータを1行にまとめたいと思います。配列を使ってデータを入力しているので、2つの要素にしかアクセスできません。では、どのようにして1行にデータを入力できますか?以下PHPで配列を使ってmysqlデータベースにデータを入力する方法は?

$array = array("AAPL","GOOG","YHOO","FB","MSFT","NKE","SBUX"); 
foreach ($array as $s) { 
    $sql = "INSERT INTO portfolio ({$s} , {$sss}) VALUES ('{$amount}', '{$value}')"; 
} 

Snip from MYSQL table

+1

データベースからデータを取得しようとしているデータとコードを挿入するために使用するテーブルスキーマとコードを提供しています – Alex

+0

[Little Bobby](http://bobby-tables.com/)は[あなたのスクリプトはSQLの危険にさらされている注射の攻撃。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –

答えて

0

あなたの配列は、データ値が、列名ではなく、私のコードのスニップです。あなたのインサートはもっと似ている必要があります。

$sql = "INSERT INTO portfolio (" 
    foreach ($array as $s) { 
     $sql = $sql + " $s, "; 
    } 
    $sql = $sql + ") values ("; 
    foreach ($amount as $s) { 
     $sql = $sql + " $s, "; 
    }; 
    $sql = $sql + ");" 

ただし、この例のように文字列を作成しないバインディングパラメータmysqliを使用する必要があります。また、表示されているテーブルには、1つの値につき1つの値しかありません。

関連する問題