ホームページ > バックエンド開発 > PHPチュートリアル > PDOのインポート方法を教えてください

PDOのインポート方法を教えてください

WBOY
リリース: 2016-06-23 13:13:50
オリジナル
1115 人が閲覧しました

データベースにインポートする必要があるテキストがあり、PDO の記述方法を使用する必要があります
1 年生: Xiao Ming、Xiao Hong、Xiao...、Xiao Bai
2 年生: Xiao A、Xiao B 、Xiao C、... Xiao Z
… …
インポートする必要があるデータテーブルは
name、banji、other
Xiao Ming 1年生 0
Xiaohong 1年生 0
………………
Little A 2ndグレード0
…………つまり、それぞれにクラス名を持ってきます
PHPを使う前は、file_get_contentsを使ってインポートし、preg_replaceを使ってセパレータに置き換えていました
それをarray_filterで整理してforeach($arr)を使います$value として) をインポートします
しかし、PDO を使用していることがわかりました。それを書くことができません。助けてください。


ディスカッションに返信(解決策)

失敗したコードを投稿してください

失敗したコードを投稿してください


以下はインポートのみですPDOを使用しているかわかりませんPDO接続は正しいのですが、インポートに失敗しました
前処理を使用したいのですが、前処理はクエリに使用する場合にのみ効率的です
ついでにお聞きしたいです。皆さん、私は最近 PDO ページングについて書きました コードに問題があります:
A: ページングをパッケージ クラスとして記述し、必要な場所で呼び出します
B: ページング コードをコピーして変更を追加します
が繰り返しを考慮しない場合コードの書き方
、AとBどちらが効率的ですか(プログラムの処理)? データの各行は次のようになります。1 年生: Xiao Ming、Xiao Hon、Xiao...、Xiao Baiつまり、「('$v')」は次のようになります。「('1 年生: Xiao」 Ming、Xiao Hon、Xiao ...、Xiaobai'),"

テーブルには少なくとも 3 つの列があるため、"insert into biao VALUES " を実行します。$string このような命令は失敗するはずです

データの各行は次のようになりますこんな感じ 一年生: シャオミン、シャオホン、シャオ...、シャオバイ

つまり、「('$v')」は次のようになります "('一年生: シャオミン、シャオホン、シャオ...、シャオバイ' ),"

テーブル列には少なくとも 3 つあるので、"insert intobiao VALUES " . $string このようなコマンドは失敗するはずです

モデレーターこんにちは、これは 1 つのフィールドのインポートであるというメモを書きました。この単一フィールドのインポートは、PDO を使用して書き込むことはできません。

今、私は PDO を使用して書き込む方法と、複数のフィールドを分割してインポートする方法を知りたいだけです

mysql 関数の書き方、PDO の書き方

$dao = file_get_contents(文本);$dao = preg_replace('/\n|\r\n/', '|', $dao);$arr = array_filter(explode('|', $dao));$arr = array_chunk($arr, 1000);foreach($arr as $value){    $string = '';    foreach($value as $v){        $string .= "('$v'),";        }    $string = trim($string, ',');    mysql_query("insert into biao VALUES " . $string);    }
ログイン後にコピー
$s =<<< TXT一年级:小明,小红,小,小白二年级:小A,小B,小C,小ZTXT;$ar = explode(PHP_EOL, $s);array_walk($ar, function(&$v) {  $v = preg_split('/:|,/', $v);});//print_r($ar);//构建数据结束$db = new PDO('mysql:dbname=test', 'root', '');$db->query('set names gbk');$db->query("create temporary table biao (name varchar(10), banji varchar(10), other int) charset=gbk");$smt = $db->prepare("insert into biao values (?, ?, 0)");//数据库准备结束foreach($ar as $v) {  $m = array_shift($v);  foreach($v as $t) $smt->execute(array($t, $m));}//插入数据结束$r = $db->query("select * from biao")->fetchall(PDO::FETCH_ASSOC);print_r($r); //看一下结果
ログイン後にコピー

解析エラー: 構文エラー、

[/code] の予期しない T_FUNCTION

すべてのローカル テストでエラーが報告されるのはなぜですか?


... in その後に行番号があり、どの行であるかがわかります

... in その後に行番号があり、どの行であるかがわかります

array_walk($ar, function(&$v) {

$v = preg_split('/:|,/', $v);

この行のみがエラーを報告しました array_walk($ar, function(&$v) {
見てみたところ、ブラケットが不足していません...

つまり、あなたの php バージョンは 5.3 よりも低いということです
ラグを保護しない場合は、自分で修正してください


それは、あなたの php を意味します。バージョンは 5.3 未満です

ラグを保護しない場合は、自分で変更してください

PHP バージョン (php_version ): 5.5.25
PHP バージョン 5.5.25


コードが修正された場合は、完全なエラー メッセージを投稿してください

コードが修正された場合は、完全なエラー メッセージを投稿してください

解決されました、それが真実であることが判明しました ローカル バージョンには問題があります。インターネットにアップロードしてください

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート