2011-09-12 16 views
-4

私は次のコードを書いていますが、解析エラーが発生しています。 ここに私のコードです。PHP解析エラー:予期しないT_ENCAPSED_AND_WHITESPACE構文エラー、T_STRINGまたはT_VARIABLEまたはT_NUM_STRINGを予期します。

<?php 

$link = mysql_connect('localhost', 'root', '9829126849'); 

if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 

mysql_select_db("recruitmentdb", $link); 

$sql=" 
    INSERT INTO 
     recruitmentapp_candidate 
      (
       id, 
       name, 
       contact1, 
       contact2, 
       contact3, 
       e_mail, 
       reference_type, 
       resume_urce, 
       date_of_first_contact, 
       hr_contact, 
       experience_level, 
       current_employer, 
       current_city, 
       highest_degree, 
       year_of_highest_degree, 
       prominent_college, 
       possible_projects, 
       skill_set, 
       track, 
       status, 
       offer_date, 
       acceptance_date, 
       joining_date, 
       joining_date, 
       comment, 
       feedback_temp, 
       upload_date, 
       vacancy_id 
      ) 
    VALUES 
      (
       null, 
       '$out['Name']', 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       '$out['ExpLevel']', 
       '$out['CurrEmp']', 
       '$out['CurrCity']',      
       '$out['HighestDegree']', 
       '$out['Year_Passing']', 
       null, 
       null, 
       '$out['Skill_set']', 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       null, 
       null 
      ) 
"; 

if (!mysql_query($sql,$link)) 
{ 
    die('Error: ' . mysql_error()); 
} 
echo "1 record added"; 
?> 

私は$アウトという名前の配列を持っていると私は、データベースに提出された値を配置するためにそれを使用しています、 なく、次のようにエラーが発生したパース:

PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING . 

私は多くの組み合わせが、同じことを試してみました問題が発生します。 SQLクエリで

+0

それはコードの600以上の文字列に構文エラーを見つけるのは本当に難しいです。私は伝統的な80列に固執することを示唆しているわけではありませんが、あなたはどこかに限界を置く必要があります。 –

+0

@ÁlvaroG. Vicarioが良いIDEを持っているのは簡単です:) –

+0

上記のコードには構文エラーはありません。行番号とファイル名でFULLエラーメッセージを投稿してください。また、中括弧で囲まない限り、連想配列キーを直接このような文字列に置くことはできないので、クエリは機能しません。したがって、 '... null '、$ out [' Name ']'、null。 .. 'は、' ...ヌル '、{$ out [' Name ']}'、null ... 'でなければなりません。また、あなたのデータをサニタイズするには、['mysql_real_escape_string()'](http://uk.php.net/manual/en/function.mysql-real-escape-string.php)を使うべきです - '' ... null "、" "mysql_real_escape_string($ out ['Name'])。" '、null ... '' – DaveRandom

答えて

5

{$out[]}
によって'$out[]'のすべてのエントリを交換し、IDEを使用してみてください:NetBeansのかPhpStormを。

また、sanitize your data in SQLを忘れないでください。PDOを使用し、終了?>タグを使用しないでください。

あなたの固定コード:

<?php 

$link = mysql_connect('localhost', 'name', 'password'); 
if (!$link) 
{ 
    die('Could not connect: '.mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db("recruitmentdb", $link); 

$sql = "INSERT INTO recruitmentapp_candidate(id,name,contact1,contact2,contact3,e_mail,reference_type,resume_urce,date_of_first_contact,hr_contact,experience_level,current_employer,current_city ,highest_degree,year_of_highest_degree,prominent_college ,possible_projects,skill_set,track ,status ,offer_date,acceptance_date,joining_date,joining_date,comment,feedback_temp,upload_date,vacancy_id)VALUES (null,{$out['Name']},null, null,null,null,null,null,null, null,{$out['ExpLevel']},{$out['CurrEmp']},{$out['CurrCity']}, {$out['HighestDegree']},{$out['Year_Passing']},null,null,{$out['Skill_set']},null,null,null,null,null,null,null,null,null,null)"; 
if (!mysql_query($sql, $link)) 
{ 
    die('Error: '.mysql_error()); 
} 
echo "1 record added"; 
+1

実際にあなたは '$ out []'を '{$ out []}'に置き換えなければなりません...それは今うまく動作します.. –

+0

@マンヌーsingh、ない私、あなた。それはまさに私の答えです。 –

関連する問題