Jump to content
  • 0

Чтение по строкам и занесение в базу


vvsh
 Share

Question

<?php
$fp = @fopen ("users1.txt", "r");
$gb_content = @fread($fp, filesize("users1.txt"));
$gb_content = split("\n", $gb_content);
$block = '0';
$sendEmail = '0';
$gid = '1';
$params = 'admin_language=
language=
editor=
helpsite=
timezone=3';
mysql_connect("localhost","root","");
mysql_select_db("cdr_joomla");
$i = '0';
while($i<'10000') {
list($username,$tydgs,$password,$avatar,$fhdfh,$name,$dgsdgs,$email,$www,$sdgsdg,$sdgsddfh,$dgsdgd,$sdgsdgd,$singature,$dchsfhd,$ip,$asfdsgsdgsd,$dsgsdg,$shsdfh,$sdgs,$fhdfhdf,$registerDate,$hsdhsdh,$lastvisitDate) = explode('|',$gb_content[$i]);
$result = mysql_query("INSERT INTO jos_users(name, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate, activation, params) VALUES ('$name','$username','$email','$password','$usertype','$block','$sendEmail','$gid','$registerDate','$lastvisitDate','$activation','$params')");
$i++;
}
?>

Вот этот скрипт должен занести все значения, почему он заносит все пустые значения?

Link to comment
Share on other sites

Recommended Posts

  • 0
ну вот вам переделка вашего - для тех кто понимает что потом надо-бы защиту от дураков вешать

ну вот и пришли к общему решению ))

а для тех кто хочет учиться "читаем маны перед сном" (с)

mysql_connect('localhost', 'root', '');
mysql_select_db('test');
mysql_query("LOAD DATA INFILE 'c:/news.txt' INTO TABLE news FIELDS TERMINATED BY '|'");
mysql_close();

4 строки

Мне кажется такой вариант приемлим только "в учебных" целях. На практике мне бы не хотелось вносить в базу

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

перестраховаться.

Link to comment
Share on other sites

  • 0

xPoint ты ошибся только в одном месте - тот файлик что предоставил vvsh является одним из форматов дампа sql базы - и если уж она дампнулась - значит все хорошо и ТОЛЬКО так её и надо заносить

Link to comment
Share on other sites

  • 0

Не получиться, слишком много полей у таблы юкоза, ну если ты конечно осмелишся отредактировать 60000 строк.

Иван, это точно дамп sql, на юкозе вроде файлы.

Тем более, у меня уже давно все получилось, спасибо за помощь

Тока одна пробла

у меня в файле есть руские символы, после записи в базу все поганится, как сделать так, чтоб в базе тоже была кирилица?

Link to comment
Share on other sites

  • 0
если это один из форматов дампа, то чем phpmyadmin плох для внесения?

тем что не всегда он есть :) удобно к примеру создавать инсталлеры

Не получиться, слишком много полей у таблы юкоза, ну если ты конечно осмелишся отредактировать 60000 строк.

Иван, это точно дамп sql, на юкозе вроде файлы.

Тем более, у меня уже давно все получилось, спасибо за помощь

Тока одна пробла

у меня в файле есть руские символы, после записи в базу все поганится, как сделать так, чтоб в базе тоже была кирилица?

1) у юкоза база а не файлы ...

2) не перестанешь быть недумающим оболдуем - никогда не станешь программистом. пока ты только потерял время, изучая web, у Паши сейчас знания повыше будут.

Link to comment
Share on other sites

  • 0

@Иван Шумов, согласен со 2)... В последнее время Павел значительно поумнел (может на фоне... или так показалось) :)

@Паша, смотри! Увижу что просто так хвалим - буду сильно ругаться! :(

Link to comment
Share on other sites

  • 0

$con = mysql_connect ('localhost', 'root', '');
mysql_query( 'SET NAMES cp1251' );
mysql_select_db ( $dbname, $connect );

если не поможет то

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

Link to comment
Share on other sites

  • 0

@Паша, а ты уверен что у vvsh кодировка файла именно та? :) У меня лично все 100 лет как в utf-8 *это всем на заметку*

@vvsh Паша не 2 года этитм занимается - ибо я сам 3,5-4 это раз. Во-вторых уж лучше учить без применения и понимать, чем делать и не понимать

@Ялекс +1 по всем пунктам!

Link to comment
Share on other sites

  • 0
удобно к примеру создавать инсталлеры

не, в инсталлерах не много данных (обычно структура бд и некоторые тестовые данные), чтобы применять такой способ. Единственное, где можно его использовать, как мне кажется, это клиент к бд. phpmyadmin, например, когда вся ответственность за предоставляемые данные полностью перекладывается на пользователя.

$username = iconv("windows-1251","UTF-8",$username);

Пробую вот так конвертировать, но вместо русских букв получается Ð�адежда.

В чем может быть дело?

мне больше нравится расширение mb_string в этом плане.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy