2016-05-19 2 views
0

私は2つのテーブル "cities"と "customers"に同じ行 "city_name"を持っています。 「都市」からの値と、私が代わりにここに都市名の0の列である「のcostumers」になってきているものを「顧客」1つのテーブルから別のテーブルへの値をコピーするdropdwon list with sql and php

で彼の都市の選択は私のコードは保存:

$query_2 = "SELECT city_name FROM cities"; 
    $result_2 = mysql_query($query_2) or die("Query Failed : ".mysql_error()); 
    $i_2 = 0; 
     while($rows_2 = mysql_fetch_array($result_2)) 
      { 
       $city_name[$i_2] = $rows_2['city_name']; 
       $i_2++; 
      } 
    $total_elmt_2 = count($city_name); 

^リストを作成するにはここをクリック

if(isset($_POST['submit'])) 
     { 

     $city_name = $_POST['city_name']; 

     { 

^これはこれは、顧客が自分の街

をピックアップし、ドロップダウンリストで、私が誰かを見つけることを願って^これは私のクエリ

<label>city <small>(required)</small></label> 
      <select id="city_name" name="city_name"> 
           <option>Select</option> 
            <?php 
          for($j=0;$j<$total_elmt_2;$j++) 
            { 
           ?><option><?php 
            echo $city_name[$j]; 
            ?></option><?php 
              } 
               ?> 
             </select> 

です^値

mysql_query("INSERT INTO `customers`(`city_name`)" 
     ." VALUES ('$city_name')",$conn) 

を投稿することですこのコードでどこが間違っていたか教えてください:(

+0

POSTパラメータに同じ変数 '$ city_name'を使用し、SQLから配列をフェッチしています。 – Barmar

+0

'var_dump($ _ POST);は何を表示しますか? – Barmar

+0

PHPの廃止予定のmysql_ APIを使用しないでください – Strawberry

答えて

-1

customersテーブルのcity_name列のデータ型varchartextなどの文字列に設定されていますか?

mysql_query("INSERT INTO `customers`(`city_name`)" 
    ." VALUES ('$city_name')", $conn); 
            ^

そして、あなたの$city_name変数を宣言した後に開口部ブラケット({):

は、あなたは、あなたのクエリを実行した後にセミコロン( ;を)忘れましたか?閉じブラケット( })に交換してください。

customersテーブルからのデータの一部には、'がある可能性がありますか?データベースにデータを挿入する前に*_real_escape_stringを使用してください。

$city_name = mysql_real_escape_string($_POST["city_name"]); 

使用mysqli_*拡張の代わりdeprecatedmysql_*延長。

+0

オプションに値がない場合は、デフォルトでコンテンツになります。 – Barmar

+0

ありがとうございますが、これはうまくいきませんでした –

+0

ありがとうございました!私のデータベースのデータ型のエラー、私は気づいていないだろう –

関連する問題