将'Array'插入mysql表的各个字段(而不是raws)

时间:2014-01-21 08:15:38

标签: php mysql

我的代码

$output.= '<div class="body">'.$message.'</div>';
echo $output;//output the email body

include_once('simple_html_dom.php');
$html = str_get_html("$output"); 
foreach($html->find('tr') as $e) {
    $b = $e->find('td',1)->plaintext;
$EMailArr[] =$b ;
}

$value_string3= implode("','", $EMailArr);
mysql_query("INSERT INTO test (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`i`) VALUES($value_string3)");
print "INSERT INTO test (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`i`) VALUES($value_string3)";

输出.. 阵列

(
    [0] => MD-MAL_MSAG5200_01 - MD-Malwana - ZTE
    [1] =>   CRITICAL
    [2] => MD-MAL_MSAG5200_01 - MD-Malwana - ZTE Isolated
    [3] => All customers(49) in above MD-MAL_MSAG5200_01 DSLAM/=3D MSAN  
    [4] => PENDING
    [5] => =  FMT-BB(A)
    [6] =>   OPEN
    [7] => PENDING
    [8] => Informed to DGM :idsmanjuka@gmail.com 
)

INSERT INTO测试(abcdefg,{ {1}},h)VALUES(MD-MAL_MSAG5200_01 - MD-Malwana - ZTE','CRITICAL','MD-MAL_MSAG5200_01 - MD-Malwana - ZTE Isolated','所有客户(49)在MD以上-MAL_MSAG5200_01 DSLAM / = 3D MSAN','PENDING','= FMT-BB(A)','OPEN','PENDING','告知DGM:idsmanjuka@gmail.com)

4 个答案:

答案 0 :(得分:2)

使用反引号`作为列名(因为它包含空格)。

INSERT INTO test (`Network Affected`,`Fault Type`,`Fault Detail Description`,`Systems/Service     
Affected`,`Expected Clearance`,`Fault Reported By`,`Fault Status`,`Fault Cleared Date`,`Details of 
Actions Taken by FMT-BB`) VALUES ('MD-MAL_MSAG5200_01 - MD-Malwana - ZTE',' CRITICAL','MD-
MAL_MSAG5200_01 - MD-Malwana - ZTE Isolated','All customers(49) in above MD-
MAL_MSAG5200_01 DSLAM/=3D MSAN ','PENDING','= FMT-BB(A)',' OPEN','PENDING','Informed to 
DGM :kapuru@slt.com.lk' )

另外@Harry在评论中提到,请确保您的字符串值被'

包围

警告:使用空格列名是非常糟糕的做法。

答案 1 :(得分:2)

  • 数据库和表名称不能包含/\.或文件名中不允许的字符。

  • 数据库,表和列名称不能以空格字符结尾。

详细了解 - http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

答案 2 :(得分:1)

您缺少某些值(第一个和最后一个)中的单引号。 此外 - 列名称似乎不是有效的列名。

INSERT语句的正确语法是 INSERT INTO TEST(column_name1,column_name2)VALUES('value1','value2')

似乎使用列描述而不是column_name1和column_name2。

希望这有帮助!

答案 3 :(得分:0)

INSERT INTO test( `Network Affected` , `Fault Type` , `Fault Detail Description` , `Systems/Service Affected` , `Expected Clearance` , `Fault Reported By` , `Fault Status` , `Fault Cleared Date` , `Details of Actions Taken by FMT-BB` )\VALUES ('MD-MAL_MSAG5200_01 - MD-Malwana - ZTE', ' CRITICAL', 'MD-MAL_MSAG5200_01 - MD-Malwana - ZTE Isolated', 'All customers(49) in above MD-MAL_MSAG5200_01 DSLAM/=3D MSAN ', 'PENDING', '= FMT-BB(A)', ' OPEN', 'PENDING', 'Informed to DGM :kapuru@slt.com.lk')

你缺少一些反引号和单引号。这应该有用。