2016-08-07 2 views
-2

HTML에서 변수를 $ _POST 가져 와서 배열로 구문 분석하려고합니다. 그런 다음 기존 배열만큼 데이터베이스에 저장하려고합니다. 나는 시도했지만 여전히 작동하지 않습니다. 여기 내 PHP 코드입니다 : HTML의 폼에서PHP에서 배열을 반복하고 데이터베이스에 저장하는 방법

<?php 

if (isset ($_POST['submit'])) 
{ 
$con=mysql_connect("localhost","root","122333"); 

    if (!$con) 
    { 
    die ("sql error".mysqli_error()); 

    } 

    mysql_select_db("test",$con); 

    $jumlahProduk= array('$_POST[jumlah1]','$_POST[jumlah2]', 
        '$_POST[jumlah3]','$_POST[jumlah4]','$_POST[jumlah5]'); 
    $jenisProduk= array('$_POST[jenis1]','$_POST[jenis2]' , 
        '$_POST[jenis3]','$_POST[jenis4]','$_POST[jenis5]'); 

    for($i=1;$i<6;$i++){ 
     $sql="INSERT INTO ternak (id_peternak, 
           kode_produk, 
           peternak, 
           jumlah, 
           tgl_panen. 
           tgl_potong, 
           tgl_packing, 
           tgl_kadaluarsa) 
          VALUES($peternak_id, 
           $jenisProduk [$i], 
           '$_POST[peternak]', 
           $jumlahProduk [$i], 
           '$_POST[tgl_panen]', 
           '$_POST[tgl_potong]', 
           '$_POST[tgl_packing]', 
           '$_POST[tgl_kadaluarsa]')"; 
     $store_data=mysql_query($sql, $con); 
    } 
    mysql_close($con); 
} 
    ?> 

, 나는 jumlah5 등, jumlah1, jumlah2, jumlah3, jumlah4를 얻을 수 있습니다. 도와주세요.

+1

여기에도 많은 오류가있을뿐만 아니라 더 이상 사용되지 않는 코드를 사용하고 있으며 SQL 주입에 대해 광범위하게 열려 있습니다. –

+0

저는 sory입니다. 저는 PHP의 초보자입니다. 그래서 내가해야 할 일이 무엇입니까? –

답변

0
  1. PHP에서는 작은 따옴표로 변수를 사용할 수 없습니다. 문자열로 처리됩니다.
  2. $ _POST [peternak]
  3. 은 $ _POST [ 'peternak'] 또는 $ _POST [ "peternak"]
  4. 당신은 처음에 mysql_로 * 및 mysqli_ * 기능을 혼합되어 있어야합니다. mysql 함수는 덜 안전하고 오래되었으므로 새로운 mysqli 함수를 사용하는 것을 고려해야한다.
  5. for 루프는 나에게 적합하지 않습니다. 당신은 일정한 한도를 반복하고 있습니다. 이것은 일종의 "범위를 벗어난"오류로 이어질 수 있습니다. 배열의 길이를 사용하여 루프를 제한 할 수 있습니다.

먼저 PHP의 기본 구문을 배우는 것이 좋습니다.

관련 문제