2013-06-19 30 views
0

我想将$ newreg缓冲区数据存储到mysql数据库。我尝试使用mysql中的文本和BLOB,但它返回错误您的SQL语法有错误;检查对应于您的MySQL服务器版本的手册,以便在第1行附近使用'179'height ='100'/>',2)'使用正确的语法如何在php中插入缓冲区数据到mysql

或者是否有其他方法可以执行此操作?

ob_start(); 
echo("\n<div class='templadf_section_2'>"); 
echo("<img src=$tprofpic1 alt=$description />"); 
echo("<h4>For sale at $district</h4>"); 
echo("<p>$description</p>"); 
echo("<div class='price'>PRICE:<span> $expectedprice INR</span></div>");  
echo("<div class='readmore'><a href=$tempath>Read more</a></div>");      
echo("</div>"); 
$newreg=ob_get_clean(); 
+0

为什么回声?为什么不把它放在一个字符串中? – 2013-06-19 03:50:08

+0

使用echo有什么问题吗?我不能说echo和mysql bro – ebin

回答

1

没有看到你的MySQL查询我不能肯定地说,但如果我猜我会说你是不是逃避撇号在您的查询。在运行查询之前,请确保您通过mysql_real_escape_string()运行数据。

正如Dagon所说,您应该将字符串分配给$ newreg,而不是使用输出缓冲。如果它分布在代码用户$ newreg。=“string”之间以将更多附加到字符串中。使用ob工作,但它增加了额外的开销,并根据您的代码可能会允许意外的文本添加到字符串

+0

我试过龙说也用'mysql_rel_escape_string()',但仍然有相同的错误。我的查询是'插入到条目(Entry)值('$ newreg')'在MySQL数据库中使用BLOB类型。没有连接或其他类似的错误,因为当直接在查询中输入字符串值时,插入是成功的 – ebin

+0

使用mysql_real_escape_string()时使用的代码是什么? 'mysql_query(“INSERT INTO entries(Entry)VALUES(''。mysql_real_escape_string($ newreg)。'')”);'工作吗? –

+0

谢谢老兄,现在它可以很好的与弦乐。我错过了一些报价 – ebin

0

除了@CJ Wurtz的答案,我只能看到这个解决方案:看起来,不使用数字值引号或使用前您的输入数据未被清除/转义。

+0

Thaks为您的关注:) – ebin

0

试试这个

$newreg = mysql_real_escape_string(stripslashes(ob_get_clean())); 

这将难逃在您的字符串/条目单引号。

+0

谢谢你的朋友:) – ebin