我正在尝试构建一个脚本(php),我将旧数据库中的某些数据库字段复制到新数据库中。
某些字段包含特殊字符,例如'我无法解决当帖子包含此内容时脚本崩溃的问题。我尝试过:
mysql_real_escape_string($ cat2ss [ '名称']) 和 mysql_real_escape_string(用htmlspecialchars($ cat2ss [ '名称']))
但他们都崩溃了。
任何想法如何解决这个问题?
这是一个示例代码:
$cat2s="SELECT * FROM o_product_description";
$cat2s_ex=mysql_query($cat2s) or die('<p>'.$cat2s.'</p>'.mysql_error());
while($cat2ss = mysql_fetch_array($cat2s_ex))
{
$cat2sc = "INSERT INTO product_description (product_id, language_id, name, description, quality, catalog, cat_no, cat_val, cancellation, meta_description, meta_keyword, seo_keyword, catalogue, sort_order, attribut) VALUES ('".$cat2ss['product_id']."', '".$cat2ss['language_id']."', '".mysql_real_escape_string($cat2ss['name'])."', '".mysql_real_escape_string($cat2ss['description'])."', '".$cat2ss['quality']."', '".$cat2ss['catalog']."', '".$cat2ss['cat_no']."', '".$cat2ss['cat_val']."', '".$cat2ss['cancellation']."', '".$cat2ss['meta_description']."', '".$cat2ss['meta_keyword']."', '".$cat2ss['seo_keyword']."', '".$cat2ss['catalogue']."', '".$cat2ss['sort_order']."', '".$cat2ss['attribut']."')";
$cat2sc_ex=mysql_query($cat2sc) or die('<p>'.$cat2sc.'</p>'.mysql_error());
}
答案 0 :(得分:2)
您是否考虑过使用PDO?如果不知道您想要的行,就无法给出确切的代码,您只需执行类似
的操作$sql="SQL STATEMENT WITH :name"
$dbh->prepare($sql)
$dbh->execute(array(':name' => $cat2ss['name']));
答案 1 :(得分:0)
我猜你错过了数据库连接ID。你的代码应该是这样的:
$db = mysql_connect();
$var = mysql_real_scape_string($db, $the_string_to_scape);
当然,您必须使用正确的参数连接到数据库。