2017-12-04 14 views
-1

サポートされていないオペランドの型ここ

if ($opt_selected=="y") 
 
    { 
 
     # code... 
 
    
 
      $errorMessage = ""; 
 
     $phone = $_POST['phone']; 
 
     $myString = $phone; 
 
     $myArray = explode(',', $myString); 
 
     print_r($myArray); 
 

 
      if ($errorMessage != "") 
 
      { 
 
        echo "<p class='message'>" .$errorMessage. "</p>" ; 
 
     
 
      } 
 
       else 
 

 
     { 
 
      $max_id=mysqli_query($db,"select max(id) from batch"); 
 
      $row = mysqli_fetch_array($max_id); 
 
     //error is for below line :Unsupported operand types     
 
        $row=$row+1; 
 

 
        $res=mysqli_query($db,"INSERT INTO batch(`id`,`phone`) VALUES (row,'$myArrays')"); 
 
         
 
        $delete = mysqli_query($db,'insert into to_numbers_hist select * from to_numbers'); 
 
        $delete = mysqli_query($db,'delete from to_numbers'); 
 

 
      foreach ($myArrays as $myArray) { 
 

 
       
 
         
 
        $ins="INSERT INTO `codexworld`.`to_numbers`(`batch_id`,`phone`) 
 
      VALUES ('$id','$phone')"; 
 
      $test=mysqli_query($db,$ins) or die(mysqli_error($db)); 
 
      if($test) 
 
      echo "<script type='text/javascript'>alert('submitted successfully!')</script>"; 
 
      else 
 
      echo "<script type='text/javascript'>alert('failed!')</script>"; 
 
         
 
      } 
 
/
 
        
 
     }

私は何をすべきか届かないこの サポートされていないオペランドの型ので

、のようなその与える誤差ください私が間違っている場所を修正してください。

とするため、各ループは、それが私たちは別のテーブル にこのIDを参照しているIDを生成して、それらのカンマを分割し、DBに格納することにより、カンマで区切られたテキストボックスに数値を入力していここには

を修正されていませんこの問題を克服するために何をする必要があるのですか?

//エラーは以下の行です:サポートされていないオペランドタイプ
$ row = $ row + 1;あなたが使用してMySQLからデータを返すよう

このラインエラーに

+0

その意味するもの疑う$記号

$res=mysqli_query($db,"INSERT INTO batch('id','phone') VALUES ($row,'$myArrays')"); 

を逃していました数値。 –

+0

'$ row = $ row + 1'は$ rowがクエリ返されたデータを構成するようになりました。'$ row = $ row ['returned_col'] + 1;' – devsourav

+0

'print_r(gettype($ row));'あなたの問題を表示します。 – Martin

答えて

0

を与えるあなたの$row変数が配列されています

$row = mysqli_fetch_array($max_id); 

1は、単純に配列には使用できません。代わりに$rc=0;(行数用)のような変数を作成してループ内でインクリメントしてください。

またやることには意味がありません:

$res=mysqli_query($db,"INSERT INTO batch(`id`,`phone`) VALUES (row,'$myArrays')"); 

あなたrowは、最も可能性の高い$rowと呼ばれるべきであるが、その後、あなたは同じことが$myArrays変数に適用される数値列の中に配列を保存しようとするだろう。

まず、MySQL queriesに精通し、プロジェクトを続ける前に良いコードの品質に気をつけてください。

+0

私は$ row = 0でした。 foreachループに与えるエラー:未定義変数:myArrays in C:¥xampp¥htdocs¥import_csv_file_into_mysql_php¥importData.php 41行目 注意:未定義の変数:myArrays in C:\ xampp \ htdocs \ import_csv_file_into_mysql_php \ importData.php 46行目 警告:C:\ xampp \ htdocs \ import_csv_file_into_mysql_php \ importData.phpのforeach()で無効な引数が指定されています – shruti

+0

"Tomin B"が別の投稿で指摘したように、コードも同様です。私はいくつかの一般的な推奨事項を含めるように答えを更新しました。 – SaschaM78

0

$行は結果セットです。 retrivedデータを使用しあなたの操作のための$値

あなたは、あまりにも、次の変更

に結果セットに
if ($row) { 
     while($data = mysql_fetch_array($data)) { 

      $value=$data[max(id)]; 
      $value=$value+1; 

     } 

    } 
    else { 
     echo mysql_error(); 
    } 

を$行+1操作を行うことはできません。あなたは、私がまた `mysqli_fetch_array`が取得した行に対応していない文字列の配列を返すので、あなたは、コード

のこのラインで
$delete = mysqli_query($db,'insert into to_numbers_hist select * from to_numbers'); 
関連する問題