0

今、私はコードのそのような部分を持っています:

$q_ins='INSERT INTO `TOF_ARTICLES` VALUES (''.$r['ART_ID'].'',''.$r['ART_ARTICLE_NR'].'',''.$r['ART_SUP_ID'].'',''.$r['ART_DES_ID'].'',''.$r['ART_COMPLETE_DES_ID'].'',''.$r['ART_CTM'].'',''.$r['ART_PACK_SELFSERVICE'].'',''.$r['ART_MATERIAL_MARK'].'',''.$r['ART_REPLACEMENT'].'',''.$r['ART_ACCESSORY'].'',''.$r['ART_BATCH_SIZE1'].'',''.$r['ART_BATCH_SIZE2'].'');';

しかし、phpはそれを言います:

解析エラー:構文エラー、40行目のX:\ denwer \ www \ denwer\td.phpの予期しないT_STRING

どうしたの?私はそれを構文で理解していますが、何ですか?そしてどのくらい正しいですか?

4

6 に答える 6

5

この更新されたクエリを使用する

$q_ins="INSERT INTO `TOF_ARTICLES` VALUES ('".$r['ART_ID']."','".$r['ART_ARTICLE_NR']."','".$r['ART_SUP_ID']."','".$r['ART_DES_ID']."','".$r['ART_COMPLETE_DES_ID']."','".$r['ART_CTM']."','".$r['ART_PACK_SELFSERVICE']."','".$r['ART_MATERIAL_MARK']."','".$r['ART_REPLACEMENT']."','".$r['ART_ACCESSORY']."','".$r['ART_BATCH_SIZE1']."','".$r['ART_BATCH_SIZE2']."');";
于 2012-07-16T16:28:08.607 に答える
4

手始めに、あなたは本当にあなたがしていることを決して決してしてはいけません。パラメータ化されていないクエリを使用することは非常に危険です。

しかし、あなたの質問に答えるために、これを試してください。

$q_ins= "INSERT INTO `TOF_ARTICLES` VALUES ('{$r['ART_ID']}','{$r['ART_ARTICLE_NR']}','{$r['ART_SUP_ID']}','{$r['ART_DES_ID']}','{$r['ART_COMPLETE_DES_ID']}','{$r['ART_CTM']}','{$r['ART_PACK_SELFSERVICE']}','{$r['ART_MATERIAL_MARK']}','{$r['ART_REPLACEMENT']}','{$r['ART_ACCESSORY']}','{$r['ART_BATCH_SIZE1']}','{$r['ART_BATCH_SIZE2']}');";
于 2012-07-16T16:29:59.097 に答える
1

これを試して :

$q_ins='INSERT INTO `TOF_ARTICLES` VALUES ("'.$r['ART_ID'].'","'.$r['ART_ARTICLE_NR'].'","'.$r['ART_SUP_ID'].'","'.$r['ART_DES_ID'].'","'.$r['ART_COMPLETE_DES_ID'].'","'.$r['ART_CTM'].'","'.$r['ART_PACK_SELFSERVICE'].'","'.$r['ART_MATERIAL_MARK'].'","'.$r['ART_REPLACEMENT'].'","'.$r['ART_ACCESSORY'].'","'.$r['ART_BATCH_SIZE1'].'","'.$r['ART_BATCH_SIZE2'].'");';
于 2012-07-16T16:27:28.767 に答える
1

コード挿入には1対多の''''が含まれているようです:P

'.$r['ART_COMPLETE_DES_ID'].'''。$r["ART_COMPLETE_DES_ID"]。''に置き換えて、混乱しないようにします。

完全なクエリは次のとおりです。

mysql_query("

INSERT INTO `TOF_ARTICLES` 
(`art_id`, 
`art_article_nr`, 
`art_sup_id`, 
`art_des_id`, 
`art_complete_des_id`, 
`art_ctm`, 
`art_pack_selfservice`, 
`art_material_mark`, 
`art_replcacement`, 
`art_accessory`, 
`art_batch_size1`, 
`art_batch_size2`)

VALUES (''.$r['ART_ID'].'',
''.$r['ART_ARTICLE_NR'].'',
'".$r['ART_SUP_ID']."',
''.$r['ART_DES_ID'].'',
''.$r['ART_COMPLETE_DES_ID'].'',
''.$r['ART_CTM'].'',
''.$r['ART_PACK_SELFSERVICE'].'',
''.$r['ART_MATERIAL_MARK'].'',
''.$r['ART_REPLACEMENT'].'',
''.$r['ART_ACCESSORY'].'',
''.$r['ART_BATCH_SIZE1'].'',
''.$r['ART_BATCH_SIZE2'].'');
") or die("Error: " . mysql_error());
于 2012-07-16T16:28:42.390 に答える
1
$q_ins = <<<MySQL
INSERT INTO `TOF_ARTICLES`
VALUES (
  {$r["ART_ID"]}
  ,{$r["ART_ARTICLE_NR"]}
  ,{$r["ART_SUP_ID"]}
  ,{$r["ART_DES_ID"]}
  ,{$r["ART_COMPLETE_DES_ID"]}
  ,{$r["ART_CTM"]}
  ,{$r["ART_PACK_SELFSERVICE"]}
  ,{$r["ART_MATERIAL_MARK"]}
  ,{$r["ART_REPLACEMENT"]}
  ,{$r["ART_ACCESSORY"]}
  ,{$r["ART_BATCH_SIZE1"]}
  ,{$r["ART_BATCH_SIZE2"]}
  )
;
MySQL;

そこに、それははるかに良いではありませんか?

于 2012-07-16T16:32:45.943 に答える
0

それはおそらくあなたの引用です。これを試して:

$q_ins = 'INSERT INTO `TOF_ARTICLES` VALUES ('.$r['ART_ID'].',
                                             '.$r['ART_ARTICLE_NR'].',
                                             '.$r['ART_SUP_ID'].',
                                             '.$r['ART_DES_ID'].',
                                             '.$r['ART_COMPLETE_DES_ID'].',
                                             '.$r['ART_CTM'].',
                                             '.$r['ART_PACK_SELFSERVICE'].',
                                             '.$r['ART_MATERIAL_MARK'].',
                                             '.$r['ART_REPLACEMENT'].',
                                             '.$r['ART_ACCESSORY'].',
                                             '.$r['ART_BATCH_SIZE1'].',
                                             '.$r['ART_BATCH_SIZE2'].')';
于 2012-07-16T16:29:51.343 に答える