I am using the multiple insert, but the internal characters of the text have made the insert fail. I used the addslaches method in the string but the error remains, any suggestions of what I can do to get around?
I have the following code
private function GetPostsNews($token,$secret,$fields)
{
$this->pack = json_decode($this->getToken($token,$secret,$fields), true);
if(count($this->pack)<25)
{$updated = 0;}
else{$updated=1;}
foreach($this->pack as $key => $value):
if(!isset($value['picture'])) : $value['picture'] = 'imagem/post.jpg' ; endif ;
if(!isset($value['message'])) : $value['message'] = 'imagem incorporada' ; endif ;
if(!isset($value['permalink_url'])) : $value['permalink_url'] = 'not a link set' ; endif ;
if(!isset($value['name'])) : $value['name'] = 'not a name set' ; endif ;
$idpost = $value['id'];
$ps_idpage = $this->guide[0];
$ps_date = \TimeConver::GMTtoUTC($value['created_time']['date'], "Y-m-d H:i:s");
$ps_categoty = $value['type'];
$ps_picture = $value['picture'];
$ps_name = $value['name'];
$ps_message = addslashes($value['message']);
$ps_link = $value['permalink_url'];
$sent = new \sentimentalization($idpost,$ps_date,'FB_POST',$ps_message);
$wordcloud = new \wordcloud($idpost,'FB_POST',$ps_message);
$this->values.= "('{$idpost}','{$ps_idpage}','{$ps_date}','{$ps_categoty}','{$ps_picture}','{$ps_name}','{$ps_message}','{$ps_link}'), " ;
$ps = new Executor();
$ps->PostSummary($idpost)->CollectPostSummary();
endforeach;
$insert = new \insert();
$insert->InsertMultiplePost($this->values);
There you have it in
public function insertmultiple($fields,$values){
// Atribui a instrução SQL construida no método
$sql = $this->buildInsertMultiple($fields, $values);
// Passa a instrução para o PDO
$stm = $this->pdo->prepare($sql);
// Executa a instrução SQL e captura o retorno
$retorno = $stm->execute();}
and
private function buildInsertmultiple($campos, $values){
// Inicializa variáveis
//$sql = "";
//$campos = "";
//$valores = "";
// Loop para montar a instrução com os campos e valores
// Retira vírgula do final da string
// Retira vírgula do final da string
$values = (substr($values, -2) == ', ') ? trim(substr($values, 0, (strlen($values) - 2))) : $values ;
// Concatena todas as variáveis e finaliza a instrução
$sql = "INSERT INTO {$this->tabela}" . $campos . "VALUES" . $values ;
var_dump($sql);
// Retorna string com instrução SQL
return trim($sql);
}
log returns me the following error: < 2016-08-22 12: 03: 55,490 BRT> ERROR: syntax error at or near "O" at character 148 < 2016-08-22 12: 03: 55,490 BRT> STATEMENT: INSERT INTO reduce_word_recurrency (_id, rwr_id, rwr_type, rwr_word) VALUES ('201608221208580.090165', '109597815616_10154194837525617', 'FB_POST', '\' O '), 201608221208 $ < 2016-08-22 BRT 12: 03: 56,439 ERROR: syntax error at or near "no" at character 1045 < 2016-08-22 12: 03: 56,439 BRT> STATEMENT: INSERT INTO reduce_word_recurrency (_id, rwr_id, rwr_type, rwr_word) VALUES ('201608221208590.038443', '109597815616_10154191786040617', 'FB_POST', 'Journal'), ('201608221 $ < 2016-08-22 12: 04: 12,461 BRT> ERROR: syntax error at or near "Com" at character 1648 < 2016-08-22 12: 04: 12.461 BRT> STATEMENT: INSERT INTO fb_post (idpost, ps_idpage, ps_date, ps_categoty, ps_picture, ps_name, ps_message, ps_link)