|
|
|
| Уважаемые очень нужна помощь,
есть код
<?php
$f = file("board.csv");
$sql = "";
for ($i = 0; $i < count($f); $i++)
{
$sql .= "(";
$array = explode("';", $f[$i]);
for ($j = 0; $j < count($array); $j++)
{
if ($j <= count($array)-2)
$sql .= "`{".trim($array[$j])."}`, ";
else
$sql .= "`{".trim($array[$j])."}`";
}
if ($i <= count($f)-2)
$sql .= "), ";
else
$sql .= ")";
}
require("sql.class.php");
$my = new class_mysql;
$my->sql_connect();
echo $my->sql_query = "insert into `jb_board`
(`id`, `id_category`, `abuse`, `type`, `autor`, `title`,
`email`, `city`, `url`, `click`, `contacts`, `text`,
`hits`, `old_mess`, `checked`, `checkbox_top`, `top_time`,
`send_notice_vip_sms`, `checkbox_select`, `select_time`,
`send_notice_select_sms`, `keywords`, `send_notice_day`,
`time_delete`, `pass`, `time_add`, `date_add`) values ".$sql;
$my->sql_execute();
$my->sql_close();
unset($my);
|
но при записи если в строчке встречается ; обрывает все и портит как быть??(( | |
|
|
|
|
|
|
|
для: Onik
(07.12.2009 в 13:03)
| | вообще-то есть стандартная функция fgetcsv()
Формат ComaSeparatedValues совсем не такой простой, как кажется на первый взгляд.
PS. Да. Непонятный код следует выкидывать, а не применять. | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 13:48)
| | как поставить кодировку? | |
|
|
|
|
|
|
|
для: onik
(07.12.2009 в 16:22)
| |
$handle = fopen("board.csv", "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$dt = $data[2];
$dt = str_replace(",",".",$dt);
$sql = "INSERT INTO `jb_board`
VALUES ('{$data[0]}', '{$data[1]}', '{$data[2]}', '{$data[3]}','{$data[4]}','{$data[5]}','{$data[6]}','{$data[7]}','{$data[8]}','{$data[9]}','{$data[10]}','{$data[11]}','{$data[12]}','{$data[13]}','{$data[14]}','{$data[15]}','{$data[16]}','{$data[17]}','{$data[18]}','{$data[19]}','{$data[20]}','{$data[21]}','{$data[22]}','{$data[23]}','{$data[24]}','{$data[25]}','{$data[26]}','{$data[27]}'
)";
$qw = mysql_query($sql);
if($qw)
{
@mysql_query("SET NAMES cp1251");
echo 'Импортировано:'.$sql.'<br />';
}
else echo mysql_error()."<br />";
}
fclose($handle);
|
вот такой код
как бы работает нО в текстах есть символы и они прерывают запрос, как сделать что бы не прерывались ковычки и прочие нечести? | |
|
|
|
|
|
|
|
для: onik
(07.12.2009 в 19:48)
| | SET NAMES нужно убрать в район установления соединения с сервером и выбора БД.
А текстовые данные следует экранировать.
mysql_real_escape_string() | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 20:21)
| |
$sql = "INSERT INTO `jb_board`
VALUES (".mysql_real_escape_string($data[0]).", ".mysql_real_escape_string($data[1]).", ".mysql_real_escape_string($data[2]).", ".mysql_real_escape_string($data[3]).",".mysql_real_escape_string($data[4]).",".mysql_real_escape_string($data[5]).",".mysql_real_escape_string($data[6]).",".mysql_real_escape_string($data[7]).",".mysql_real_escape_string($data[8]).",".mysql_real_escape_string($data[9]).",".mysql_real_escape_string($data[10]).",".mysql_real_escape_string($data[11]).",".mysql_real_escape_string($data[12]).",".mysql_real_escape_string($data[13]).",".mysql_real_escape_string($data[14]).",".mysql_real_escape_string($data[15]).",".mysql_real_escape_string($data[16]).",".mysql_real_escape_string($data[17]).",".mysql_real_escape_string($data[18]).",".mysql_real_escape_string($data[19]).",".mysql_real_escape_string($data[20]).",".mysql_real_escape_string($data[21]).",".mysql_real_escape_string($data[22]).",".mysql_real_escape_string($data[23]).",".mysql_real_escape_string($data[24]).",".mysql_real_escape_string($data[25]).",".mysql_real_escape_string($data[26]).",".mysql_real_escape_string($data[27])."
).";
|
так?выдает одни ошибки(( как правильнее будет помогите плизз уже ни могу(( | |
|
|
|
|
|
|
|
для: onik
(08.12.2009 в 04:16)
| | Вы не уже не можете.
Вы еще не можете.
Потому что язык перед применением надо учить, а не списывать с чего попало.
А чтобы разобраться, почему ошибки, запрос, который в $sql , нужно не исполнять сперва,
а выводить на экран, и изучать внимательно, чего Ваш скрипт там понасоздавал.
Сообщения об ошибках, кстати, тоже неплохо изучить и понять. | |
|
|
|
|