2012-03-06 16 views
0

私はcsv様のデータを使用してMySQLのテーブルにinsert/updateデータにしたい:PHPで文字列を整数に変換するには?

function execInsertOrUpdateCompteRendu($compterendu) // here $compterendu is something like this : -1;2012/03/06 09h 50mn;3;1; 
{ 
     $resultat = explode("\n",$compterendu); 
     $connec = mysql_connect("192.168.1.123:3306","root", "mysqlroot"); 
     mysql_set_charset('utf8', $connec); 
     mysql_select_db("finance",$connec); 
     for($i = 0; $i < count($resultat) ; $i++) 
     { 
      $valeur=explode(";",$resultat[$i]); 
      if ($valeur[0] > 0) 
      { 
       $requete = mysql_query("UPDATE compte_rendu SET 
       cr_date = '".convertFromDateHM($valeur[1])."', 
       cr_lieu = '".$valeur[2]."', 
       cred_id = '".$valeur[3]."', 
       cr_resultat = '".$valeur[5]."', 
       cr_comment = '".$valeur[6]."', 
       adc_id = '".$valeur[7]."' 
       WHERE cr_id = '".$valeur[0]."'"); 
      } 
      else 
      { 
       $requete = mysql_query("INSERT INTO compte_rendu SET 
             cred_id = '".$valeur[3]."', 
             cr_date = '".convertFromDateHM($valeur[1])."', 
             cr_lieu = '".$valeur[2]."', 
             cr_resultat = '".$valeur[5]."', 
             cr_comment = '".$valeur[6]."', 
             adc_id = '".$valeur[7]."'"); 
      } 
     } 
     return $resultat[0]; 
} 

このPHPコードは私がJ2MEクライアントから呼び出すweb-serviceです。問題は、J2MEアプリケーションを実行すると、新しいデータがテーブルに挿入されないことです。私はJavaプログラムをデバッグし、エラーはありません。だから私のPHPコードで何が間違っていますか?

+0

に整数値をラップする必要はありませんか?エラーのために 'mysql_error'をチェックしましたか? – deceze

+0

サーバのエラーログにエラーがありますか?もしあなたの質問に投稿してください。 – DKSan

+0

あなたは、挿入/更新のすべてをあなたの質問に引用符で囲んでいます(必須ではありません)。私はあなたがstring-> integerに関してIDについて話していると仮定するつもりです。したがって、いくつかのセクションでは、 'adc_id =" "$ valeur [7]"の代わりに '' adc_id = '"の代わりに' 'adc_id =" "しかし、初心者のために準備済みのステートメントを使用してください。 – Kurt

答えて

0

まず、データベースに入力するすべてのテキストをエスケープしてmysql_real_escape_stringとしてください。そうしないと、問題が発生する可能性があります。例えば

//cr_lieu = '".mysql_real_escape_string($valeur[2])."', 

また、文字列を整数に変換するには?

$int = (int)$string; 
1

MySQLiプリペアドステートメントを使用します。その後、パラメータを整数、倍精度、文字列、またはブロブとしてバインドできます。 Mysqli Manualを読んで、bind_paramセクションを拘束してください。クエリに関しては

:あなたは、最終的なクエリがどのようなものに見えるん引用符

関連する問題