mysql, выполняющий одиночные и двойные кавычки

У меня есть сценарий, который я пишу, чтобы перенести определенные поля в новый db как

$results = mysql_query ( "SELECT body, title FROM $source_db.Post" ); while ($row = mysql_fetch_array($results)) { if(mysql_num_rows($users_result) > 0){ $insert = "INSERT INTO wp_posts (`body`,`title`) VALUES ('{$row['body']}', '{$row['row']}')"; mysql_query($insert); } } 

но, как вы можете видеть, запрос будет прерываться каждый раз из-за одиночных и двойных кавычек, есть ли решение этой проблемы, например, гердок или что-то еще

 INSERT INTO wp_posts (`body`,`title`) VALUES ('Here are the final returns from today's ...<br /><br />he stayed home...<br /> <div class="entry-content"> <div class="entry-body">', 'something') 

Solutions Collecting From Web of "mysql, выполняющий одиночные и двойные кавычки"

mysql_real_escape_string выполняется только для этого.

PHP: mysql_real_escape_string

 $insert = "INSERT INTO wp_posts ('body','title') VALUES ('".mysql_real_escape_string($row['body'])."', '".mysql_real_escape_string($row['row'])."')"; 

Другой вариант – использовать mysqli и подготовленные операторы

 $stmt = $this->db->prepare("insert into table (id,name,longstring) values (?,?,?)); $stmt->bind_param('iss',$row["id"],$row["name"],$row["body"]); $stmt->execute(); 

mysqli свяжет назначенные параметры с? в подготовленном операторе как целое число (i) или строку (строки).

Самым разумным является использование связанных параметров. У Bobby Tables есть примеры .