当我运行一个函数的这一部分,该部分使包含链接的字符串中的可点击链接
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
'<a href="\\1">\\1</a>', $text);
并尝试将其插入数据库中我收到以下错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'http://sitename.com/alpha/">http://sitename.com/alpha/' at line 1
我不确定如何更正语法错误。提前谢谢!
干杯
答案 0 :(得分:4)
您的SQL很可能存在一个注入漏洞,您尝试插入的HTML中的引号会发痒,或者您在将$ text变量插入查询字符串时忘记引用它。
忽略ereg函数系列已被弃用且不应再使用的事实:
$test = eregi_replace(blah blah blah );
$test = mysql_real_escape_string($test);
$sql = "INSERT INTO yourtable (htmlfield) VALUES ('$test');";
应该解决问题。
答案 1 :(得分:0)
我相信这是由您的代码分隔符引起的。无论eregi_replace如何被弃用。使用preg_replace()代替。