Я получаю строку с помощью curl:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL,"https://$URL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close ($ch);
, а затем я обновляю таблицу в mySQL этой строкой:
$query = "UPDATE $table SET code='$result' WHERE id=$id";
$result = mysql_query($query)or die("Update query failed : " . mysql_error());
Проблема в том, что столбец пуст послеОбновить.Если я отображаю $ result, я вижу строку в браузере, поэтому я знаю, что она поступает из curl, и если я набираю строку в себе (вместо использования curl $ result), она также вставляется нормально.Я пробовал каждую комбинацию очистки строк, которую я могу придумать:
mysql_real_escape_string(htmlentities($result));
Но все еще нет игры в кости.Есть ли что-то особенное в возвращаемых строках curl, которые могут помешать его вставке в mySQL?
btw, возвращаемая строка выглядит так: ABC * DEF * 12345ABC
РЕШЕНИЕ
Следуя полученному совету, оказалось, что у curl $ result есть \ n во главе, которую я не смог увидеть, пока не повторил запрос $.Я смог быстро исправить это с помощью str_replace (), чтобы удалить \ n.