2013-04-02 6 views
2

select 목록을 사용하여 데이터베이스에 여러 값을 삽입하려고합니다. 내가 지금까지 가지고 무엇 :PHP 선택 목록 - 데이터베이스에 여러 값 삽입

HTML

 $cars= $_POST['cars']; 
     echo $cars; 
     for($i = 0; $i < count($cars); $i++){ 
      echo $cars[$i]; 
      $carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')"); 
     } 

불행히도 작동하지 않습니다

<form enctype="multipart/form-data" action="" method="post"> 
      <select name="cars[]" multiple="multiple" style="width:300px"> 
      <?php 
      $getcars = mysql_query("SELECT cars_id, cars_name FROM car"); 
      while ($row = mysql_fetch_assoc($getcars)) { 
       $car_id = $row['cars_id']; 
       $car_name = $row['cars_name']; 
      ?> 
      <option value="<?php echo $car_id ?>"><?php echo $car_name ?></option> 
      <?php } ?> 
      </select><br /> 
      <input type="submit" name="submit" value="Submit"/><br/> 
     </form> 

PHP, 나는 결과 값을 확인 $ 차를 인쇄했습니다. 그것은 "Array"를 인쇄하고 $ cars [$ i]를 인쇄하려 할 때 아무 것도 인쇄하지 않습니다.

문제가 무엇인지 아는 사람이 있습니까?

답변

1

제거해야 할 여분의 닫는 괄호가 있습니다. 쿼리가 성공했는지 여부는 확인하지 않습니다.

$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')"); 

은 다음과 같아야합니다

print_r($cars); 
var_dump($cars); 

유용한 읽기 :
How to get useful error messages in PHP?
mysql_* functions are deprecated

$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]')") or die(mysql_error()); 

$ 이후 자동차 배열, 당신은 print_r 또는 var_dump를 사용하여 내용을 인쇄 할 수있다

+0

와 당신을 위해

$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')"); 

수정 PHP는 내가 그것을 변경하지만 여전히 작동하지 변경할 필요가 오류 $ 차를 가지고 . 그것은 "배열"을 인쇄하고 데이터베이스에 0을 삽입합니다. – shieldcy

+0

업데이트 된 답변 읽기. – Jocelyn

+0

정말 유용했습니다. 내 실수는 변수 이름 (기본적으로 잘못된 문자)이었습니다. print_r을 사용하여 확인했습니다. 이제 괜찮아! 도와 주셔서 감사합니다 – shieldcy

0

당신은 [$ i가]와 $ 차를 [$ 내가] 좋은 SQL

$cars= $_POST['cars']; 
    echo $cars; 
    foreach($cars as $i => $cars_name){ 
     echo $cars_name; 
     $carGroups = mysql_query("INSERT INTO car_groups SET `fieldcompany`='{$company}', `fieldcars`='{$cars_name}'"); 
    } 
+0

윌, 감사합니다! 그것은 실제로 나보다 낫다. – shieldcy

+0

아니요. 당신이 문제가 있다면 말해줘 :) –