2016-12-23 37 views
-1

Parse error: syntax error, unexpected '"', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\cc_real\3HLR14CMORCGZ0IY8AE7H4JL409RV9\insert.php on line 15.解析エラー:構文エラー、予期しない「"」、期待識別子(T_STRING)または変数(T_VARIABLE)または番号(T_NUM_STRING)

は私に、このエラーを表示し、下に私が挿入するために使用しようとしています私のコードですデータベースへのデータ。

<?php 
echo "Invoked!!!"; 

$con = mysqli_connect('localhost', 'root', ''); 
if (!$con) 
{ 
    die('could not connect:'.mysql_error());  
} 
mysqli_select_db('job1'); 


Error: $sql = "INSERT INTO `cc_job2`(cc_Answer_filename,cc_time,cc_workerID) VALUES 
     ('$_post["Answer_filename"]','$_post["track_data"]','$_post["workerID"]')"; 

$result = mysqli_query($sql) 
if ($result){ 
    echo ("<br> Input data is succeed") 
} else{ 
    echo("<br> Input data is failed"); 
} 
mysqli_close($con); 
?> 
+0

は、あなたの質問のシンタックスハイライトは、あなたの手掛かりを与えるだろう。 – Federkun

+0

'$ result = mysqli_query($ sql)'の後の ''エコー( "
入力データは成功しました") ' – Beginner

+0

のようないくつかの行に'; ' $ 255)セミコロン ';を追加します。 –

答えて

0

ジャストラインecho ("<br> Input data is succeed")$result = mysqli_query($sql);終わりを追加します。

このような何かを試してみてください。

mysqlのクエリで
+0

私は型エラーが受け入れられるとは思わない – Beginner

+0

私の答えを更新してください一度チェックしてください –

+0

ありがとう@PravinVavadiya –

0
$sql = "INSERT INTO `cc_job2`(cc_Answer_filename,cc_time,cc_workerID) VALUES ('".$_post['Answer_filename']."','".$_post['track_data']."','".$_post['workerID']."')"; 
+0

この構文で試してみてください –

0

Concate:

<?php 
echo "Invoked!!!"; 

$con = mysqli_connect('localhost', 'root', ''); 
if (!$con) 
{ 
die('could not connect:'.mysql_error());  
} 
mysqli_select_db('job1'); 


Error: $sql = "INSERT INTO cc_job2 (cc_Answer_filename,cc_time,cc_workerID) VALUES 
     ('".$_post["Answer_filename"]."','".$_post["track_data"]."','".$_post["workerID"]."')"; 

$result = mysqli_query($sql) 
if ($result){ 
echo ("<br> Input data is succeed"); 

}else{ 
echo("<br> Input data is failed"); 
} 
mysqli_close($con); 
?> 
1

コードのこの作品にはいくつかの問題があります。最もmysqli_機能

  • ではなく$_POST(大文字)の$_postを使用してmysql_mysqli_
  • を混合するための$conパラメータが欠落している複数の行
  • の終わりに
  • ;がありません

    1. 変更された内容についてのコードのコメントを参照してください。

      <?php 
      echo "Invoked!!!"; 
      
      $con = mysqli_connect('localhost', 'root', ''); 
      /* 
      You can also do this, and drop mysqli_select_db() later in the code 
      $con = mysqli_connect('localhost', 'root', '', 'job1'); 
      */ 
      
      if (!$con) { 
          // Cannot mix mysql with mysqli (changed out mysql_error()) 
          // Also, mysqli has "mysqli_connect_error()" for connecting errors 
          die('could not connect: '.mysqli_connect_error());  
      } 
      
      // This function require the $con parameter 
      mysqli_select_db($con, 'job1'); 
      
      // Quotes being messed up - this is your current error 
      // Concatenate the POST values instead, like this 
      // Also using $_post instead of $_POST 
      $sql = "INSERT INTO `cc_job2` (cc_Answer_filename, cc_time, cc_workerID) VALUES ('".$_POST["Answer_filename"]."', '".$_POST["track_data"]."', '".$_POST["workerID"]."')"; 
      
      // Missing $con as the first parameter and ; at the end 
      $result = mysqli_query($con, $sql); 
      if ($result) { 
          // Missing ; at the end 
          echo "<br> Input data is succeed"; 
      } else{ 
          echo "<br> Input data is failed"; 
          // You should add echo mysqli_error($con); here to troubleshoot queries 
      } 
      mysqli_close($con); 
      ?> 
      

      あなたは下の段落とのリンクを参照してください(プリペアドステートメントを使用し、まだよりよいそれらをエスケープする、または必要があるのいずれかので、POST-値のいずれかが、singlequotes 'が含まれている場合、クエリが失敗することに注意してください「どのように私はPHPでSQLインジェクションを防ぐことができますか?」下にある。

      このコードはまた、SQLインジェクションの脆弱性で、あなたはこのから身を守るためにプレースホルダを用いてプリペアドステートメントを使用する必要があります。

      これらを参照してください。リンク

    関連する問題

     関連する問題