検索結果

DB

全10000件中7741~7760件表示
  • 全てのカテゴリ
  • 全ての質問
  • exec関数の中に変数を入れたい

    CSVファイル(kabu.csv)をmysqlに記録すべく下記のPHPを組みました。 PHPのexec関数の中で、MySQLを動作させます。 下記でPHPファイルと同じ階層にあるkabu.csvをMySQLにインサートすることが可能でした。 <?php try { $con = new PDO("mysql:host=127.0.0.1;dbname=db", "root", "password", array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1)); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->exec('load data local infile \'kabu.csv\' IGNORE INTO TABLE photo_in fields terminated by \',\' enclosed by \'"\' escaped by \'"\''); } catch (PDOException $e) { echo $e->getMessage(); } ?> ********************************************************************************* 次に、 \'kabu.csv\'を外に出しました。($file = 'kabu.csv';) (将来的にこのkabu.csvはクエリーと連動して名前をが変わるようにする予定です。) ********************************************************************************** <?php $file = 'kabu.csv'; try { $con = new PDO("mysql:host=127.0.0.1;dbname=db", "root", "password", array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1)); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->exec('LOAD DATA LOCAL INFILE $file IGNORE INTO TABLE photo_in fields terminated by \',\' enclosed by \'"\' escaped by \'"\''); } catch (PDOException $e) { echo $e->getMessage(); } ?> 単純に \'kabu.csv\'を$fileに置き換えただけではうまく動作しません。(MySQLに入力されません) どのように記載すれば、作動するでしょうか? 初歩的な質問かと思いますが、よろしくお願いいたします。 環境はCentOS 6.6 + MySQL5.6 です。エラーは下記となります。  SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$file IGNORE INTO TABLE photo_in fields terminated by ',' enclosed by '"' escape' at line 1

    • 締切済み
    • PHP
    • tajix14
    • 回答数1
  • myaql php ページャー total

    検索機能プラスページャー機能を作っているのですが$totalが取れません。 echo $total;にしても数字が出てきません。 検索機能をつけずに元あるデータからはうまくいきました。 ご教授お願いいたします。 ソースは下記です <?php $cityid=$_POST['city']; $brandid=$_POST['brand']; $syasyu=$_POST['ysasyu_sentaku']; $page = 1; $limit = 2; $offset = $limit * ($page - 1); $dsn='mysql:dbname=****host=mysql1.**** $user=***; $password=***** $dbh=new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); if($brandid=='') { $sql='SELECT COUNT (*)FROM zyoho WHERE cityid=? OR brandid=?'; }else{ $sql='SELECT COUNT (*) FROM zyoho WHERE cityid=? AND brandid=?'; } $stmt=$dbh->prepare($sql); $data[]=$cityid; $data[]=$brandid; $stmt->execute($data); $db=null; $total=$stmt->fetchColumn(); $lastpage= ceil($total/$limit); if($brandid=='') { $sql='SELECT naiyo FROM zyoho WHERE cityid=? OR brandid=? LIMIT '.$limit.' OFFSET '.$offset; }else{ $sql='SELECT naiyo FROM zyoho WHERE cityid=? AND brandid=? LIMIT '.$limit.' OFFSET '.$offset; } $stmt = $dbh->prepare($sql); var_dump($data); $stmt->execute($data); $db = null; while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo $row['naiyo']; echo'</br>'; } echo '<ul class="pager">'; ?> <?php if($page > 1){?> <li><a href="pager.php?page=<?php echo $page-1; ?>"> << </a></li> <?php }。 for($i = $page; $page-2 < $i && $i <= $page+4 && $i <= $lastpage; $i++){ ?> <?php if($i == $page){ ?> <li><a href="kensaku_pager.php?page=<?php echo $i; ?>"><?php echo '<font color="#FF4DC4">'.$i.'</font></a></li>'; }else{?> <li><a href="pager.php?page=<?php echo $i; ?>"><?php echo $i.'</a>'; ?> <?php echo '</li>'; } }。 if($page < $lastpage){ ?> <li><a href="pager.php?page=<?php echo $page+1; ?>"> >> </a></li> <?php } ?> </ul>

    • ベストアンサー
    • MySQL
  • なぜ?更新されたのにデータが変わらないのは??

    ajaxとphpとdbを使ってマウスで自由な場所に移動できるエディターを作ってます。 で、なぜか更新が失敗してしまい一つずつ切り分けて確認していったところ、DBの update文が実行するまでは正常に動いております。 変数の中身もechoで確認済みで更新したいデータはちゃんと入っております。 条件があっているので正常に動きましたとの結果も出ております。 ですが、更新させたいデータが変数に入っているにも関わらず肝心の更新したい場所が 更新されない事があります。 同じ手順でやっているため正常に動いてないことがあるのは確かです!! エディターなので更新機能をつけているのでそこからupdateさせればいいのですが、 あまりも頻度が多いのでこれはまずいと思って考えてはいますが、原因はどこだろうと 考えてばかりで答えが出せません。 googleの検証を使っているのですが、あれが正常に動いていない可能性はあるのでしょうか? 正常に動いているとしたらmysqlのupdate文に更新されない不具合があるということでしょうか? 更新されなかった場合の方法としては二重更新しか対応が思いつきませんが、適切な方法で 他のやり方はございますでしょうか。 大変お手数ですが、ご教示よろしくお願いします。

    • sato965
    • 回答数2
  • MySQLで昇順に並べ替え

    MySQL(データベース)で商品名と価格を格納したテーブル(syouhin)があります。商品名のキーワードを入力するフォーム(form.html)とデータを受け取る(kensaku.php)があり、以下のようにデータを表示させています。 <!-- form.html --> <html> <head> <title>商品名と価格</title> </head> <body> <form method="get" action="kensaku.php"> <input type="text" name="name"> <input type="submit" name="submit" value="検索"> </form> </body> </html> //kensaku.php <? $name=$_REQUEST["name"]; $conn = mysql_connect ("localhost", "username", "password") or die ('接続できませんでした'); mysql_select_db ("db",$conn); //クエリ生成 $sql = "select * from syouhin where name like '%$name%'"; $res = mysql_query($sql); while($row = mysql_fetch_array($res)){ echo "<table border='1' cellpadding='0' cellspacing='0'>"; echo "<tr>"; echo "<td>".$row[name]."</td>"; echo "<td>".$row[price]."</td>"; echo "</tr>"; echo "</table>"; } ?> ここから質問なんですが、今結果が表示されているまさにそのページで、並べ替えをしたいのです。よく検索結果の並べ替えで、[価格の安い順に並べる]をクリックすると並び変わるのがありますよね。それと同じ事をしたいのです。 僕が考えた方法は、もう一つのページ(例えば、kensaku_asc.php)を作って、 $sql = "select * from syouhin where name like '%$name%'"; の部分だけを $sql = "select * from syouhin where name like '%$name%' order by price"; に変えて、そのページにリンクさせる。でもその場合、form.htmlから受け取ったデータ(ここでは商品名のキーワード)を引き継ぐという事ができないので、そのあたりのところのヒントをいただければと存じます。よろしくお願いします。

    • 締切済み
    • PHP
    • capdou6
    • 回答数3
  • HP全体を左寄せ配置するCSSの記述について。

    HP全体を左寄せ配置するCSSの記述について。 CSS付きで中央表示の無料テンプレートを頂きました。 これを左寄せ配置で表示させる方法を教えて下さい。 (base.css) @charset "Shift_JIS"; /* 基本設定 */ *{ margin:0px; padding:0px; font-size:12px; font-family:Verdana, Helvetica, sans-serif; } body{ color:#333; text-align:center; } br{ letter-spacing:normal; } a{ color:#333;text-decoration:none; } a:hover{ color:#fff;text-decoration:none; } img{ border:0px; } /* テンプレート */ #temp{ width:500px;  text-align:center;  line-height:18px; letter-spacing:1px; margin:10px auto; } #header{ background:#fff url(img/cat.gif) no-repeat 0px 0px; width:500px;height:120px; text-align:left; border:1px solid #333; } #menu{ background-color:#333; width:500px;height:24px; color:#fff; margin:10px 0px; border:1px solid #333; } #main{ background:#fff; width:480px; text-align:left; padding:10px; border:1px solid #333; } #footer{ background:#fff; width:500px;height:30px; color:#333; line-height:30px; margin:10px 0px; border:1px solid #333; } /* タイトル部分 */ #header h1{ padding:30px 0px 0px 190px; } /* メニュー部分 */ #menu ul{ list-style-type:none; height:24px; margin-left:30px; } #menu li{ display:inline; padding:0px } #menu a{ color:#fff; line-height:24px; float:left; text-decoration:none; padding:0px 5px; } #menu a:hover{ color:#DB9400; text-decoration:none; } /* メインコンテンツの見出し */ #main h2{ background:url("img/mark.gif") no-repeat; padding:1px 0px 3px 25px; color:#DB9400; よろしくお願いします。

    • ベストアンサー
    • HTML
    • nana-na
    • 回答数2
  • CSVファイルの文字項目に改行コードが存在する場合

    CSVファイルの文字項目に改行コードが存在する場合 2つほど質問したいことがあります。もしよろしければアドバイス頂けると嬉しいです。 1つ目 javaでcsvファイルを読み込んで分割したいと思っています。 単純に考えればセパレータ(ここではカンマにしたいと思います)でsplit関数で済むのですが、いくつか特殊?な要件があります。 1.文字項目は"で囲まれる(例:123,"abc",456) 2.文字項目に改行コードが含まれる場合がある。 3.文字項目に"がある場合は""となる。 (4.文字項目に,がある場合は,,となる。)←ここは未確定になります。確定したら別途質問させて頂きたいと思っています。 特にいま気にしているのは2です。 改行コードが含まれているので、普通にファイルを1行読み込んでも途中までしか取得できないと想定しています。 改行が含まれている場合、2行以上(複数の改行の可能性)が1行分なのですが、どのように処理すればよいのか困っています。 2つ目 読み込んだデータをDB(DB2)に登録するのですが、改行コード込みで登録したいと思っています。1つ目の処理と絡んでどのようにすればうまくいくか悩んでいます。 よろしければアドバイス頂けないでしょうか。

    • ベストアンサー
    • Java
    • _alias_
    • 回答数4
  • エクセルの「コンパイルエラー」 

    何回か質問させて頂き回答を頂き 判らないながら本を片手に原因究明?理解にはほど遠い感がします。 お教え下さい。 下記がソフトの一部です、全コードを記載出来れば良いのですが、 このような一部分でも何かヒントをいただけますか。 4台のPC中1台のみエラー発生なく動いてます 他はExCEL とOSのバージョンを全く会わせてもNGです 「モジュール1でコンパイルエラー」デバッグ ステップインで 1行目から実行すると(1)で(2)に飛び(3)まで行って (4)でエラーで止まりますシートとかブックとかが足りない様な気がしますが 構文の書き方が特定のPCのみに有効になってるのでしょうか WorkBook 4行目まで記述されてます Public Sub Workbook_Open() label_101: Call Workbook_Open1-----------(1) End Sub 「ここからはモジュール1です」 Private Sub WorkSheet_Delete(Target_Sheet0 As String) 'シート削除--(4)この行で黄色の行表示で止まる On Error GoTo ErrSheetDelete Application.DisplayAlerts = False Worksheets(Target_Sheet0).Delete Application.DisplayAlerts = True GoTo ExitSheetDelete ErrSheetDelete: Error_Number = Err.Number --- Error_Number が青色で表示される Msg = "仮台帳がアクティブにできませんSub WorkSheet_Delete。Error_Number=" & Error_Number Err.Clear ExitSheetDelete: ' End Sub Public Sub Workbook_Open1() Dim Target_Sheet As String XLSFile_Dir_Name = ThisWorkbook.Path -----(2) XLSData_File_Name = XLSFile_Dir_Name & "\" & "工事台帳DB.xls" XLSSoft_File_Name = XLSFile_Dir_Name & "\" & "工事台帳DB_ソフト.xls" Target_Sheet = "仮台帳" Call WorkSheet_Delete(Target_Sheet)------(3) 以下省略

  • DataGridViewの再表示方法

    VB2005、SQLServer2005環境です。 FormA、FormBの2つのフォームがあり、FormAはDataGridViewでデータを表示し、 FormBはFormAで選択されたデータを呼び出し修正処理を行っています。 質問は、FormBでデータを登録し、FormBを閉じたタイミングで、 FormAのDataGridViewを再描画して最新のデータを表示したいのですが、うまくいきません。 <FormAで記述しているCD> Private Sub BTN_Data表示ボタン_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BTN_Data表示ボタン.Click Dim strsql As String ' レコードを取得し、データグリッドに表示する '---DB接続 '---SQL文を作成して実行する strsql = "SELECT コード, 氏名 FROM TBLA ORDER BY コード Dim comm As SqlCommand = New SqlCommand(strsql, Con) '---データアダプタを生成 Dim dataadapter As SqlDataAdapter = New SqlDataAdapter(comm) dataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey '---データセット Dim ds As DataSet = New DataSet() dataadapter.Fill(ds, "TBLA") '---DataSet を DataGridView control と連結 dgrSyain.DataSource = ds dgrSyain.DataMember = "TBLA" '---DB切断 Call Disconnect() End Sub <FormBで記述しているCD> Private Sub BTN_更新_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_更新.Click '---FormBの内容を更新する処理----- Me.Close() End Sub 上記の、FormBが閉じる時のイベントで、ResetBindingsを使えばいいのかと思いましたが どこにどう記述すればよいかわかりませんでした。 どうすれば再描画できるでしょうか? ご教授ください。

    • noname#208236
    • 回答数3
  • insert文についてご教授ください。

    行き詰ってしまいましたので、 どなたか教えてください。 横が15件、縦が1万件程あるCSVファイルのデータを、 下記のような形で取得しました。 array(11427) { [0]=> array(16) { [0]=> string(4) "○△×…" [1]=> string(8) "○△×…" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(29) "○△×…" [5]=> string(0) "" [6]=> string(0) "" [7]=> string(1747) "○△×…" [8]=> string(4) "○△×…" [9]=> string(4) "○△×…" [10]=> string(0) "○△×…" [11]=> string(55) "○△×…" [12]=> string(55) "○△×…" [13]=> string(55) "○△×…" [14]=> string(43) "○△×…" [15]=> string(63) "○△×…" }    ・    ・    ・ ところどころ1000文字を超えるデータがあり、php.iniのmemori_limitを64Mまで増やし、配列には格納する事は出来たのですが、 上記配列を下記のような形でインサートしようとしたところ、 5000件程しかデータベースに格納されません。 for($i=0; $i<count($data) $i++) { $sql = insert into sample ( seq, id, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13, data14 ) values ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ); $stmt = $db->prepare($sql); $db->execute($stmt, $data[$i]); } 5000件までしかデータが入らない等といったmysqlの制限なのかは分かりませんが、 たまに下記のようなメモリーオーバーのエラーが、PERE上で起きているような表記がでてしまいます。 Allowed memory size of XXXX bytes exhausted xxx PERE.php 何か、インサート文でのメモリ開放の関数を使う等、良い方法はないでしょうか? どなたか、ご教授をお願いいたします。

    • ベストアンサー
    • PHP
    • 10power
    • 回答数1
  • vb.net トランザクション処理について

    VB2005、SQLServer2005環境です。 VB.Netのトランザクション処理でエラーが発生します。 エラー内容の意味すらわかりません。 どなたかご教授お願いします。 *エラー内容 "System.InvalidOperationException: ExecuteReader は、コマンドに割り当てられた接続が保留状態である ローカルのトランザクションにあるとき、トランザクション オブジェクトを持つコマンドが必要です。 コマンドの Transaction プロパティがまだ初期化されていません。 Private Sub BTN_更新_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_更新.Click Dim strsql As String Dim Tran As SqlClient.SqlTransaction = Nothing '---DB接続 Call DBConnect() Try '---SQL文作成 strsql = "SELECT * FROM Aテーブル" '---SQL文を作成して実行する Dim comm As SqlCommand = New SqlCommand(strsql, Con) '---データアダプタの作成 Dim dataadapter As SqlDataAdapter = New SqlDataAdapter(comm) '---データセットへの読み込み Dim ds As DataSet = New DataSet() dataadapter.Fill(ds, "Aテーブル") Dim dt As New DataTable dt = ds.Tables("Aテーブル") '---主キーの設定 dt.PrimaryKey = New DataColumn() {dt.Columns("Aテーブル")} '---データの更新 Dim targetRow As DataRow targetRow = dt.NewRow() targetRow = dt.Rows.Find(TXT_コード.Text) targetRow("コード") = TXT_コード.Text targetRow("氏名") = TXT_氏名.Text '---コマンド自動作成 Dim cb As SqlCommandBuilder = New SqlCommandBuilder(dataadapter) '---トランザクション開始 Tran = Con.BeginTransaction() '---データベースの更新 dataadapter.Update(ds, "社員テーブル")     <<<エラーになります。 '---トランザクション完了 Tran.Commit() Catch oExcept As Exception '---ロールバック Tran.Rollback() '例外が発生した時の処理 MessageBox.Show(oExcept.ToString, "例外発生") Finally '---DB切断 Call Disconnect() End Try

    • noname#208236
    • 回答数1
  • PHP pdo mysql 周りについて教えてください。

    現在PDOの勉強をしています。 ソースコードを見ると $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); というコードが書いてあって色々と調べたのですが、 fetch()を2回使用すると、エラーとなり、その対処として $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); を使っているのかなと思いました。 しかし、このコードはmysqlのみ対応となっていました。 汎用性を考えるともう一つの対処で、fetch allを使った対処の方が良いのかと思ったのですが、どうでしょうか。 fetchAllだと配列の配列となるそうなので、値をどうやって取れば良いのか悩むところです・・・ あとはmysqlの文字コードですが、よく掲載されているのが、my.cnfを設定し直すということが掲載されていますが、 サーバーに依存すると思ったのであまりこの対処は良くないのかなと思ったりしています。 現段階では、sqlquerybrowserなどで、DBを作成の前に、文字コードを設定して対処していますが、いかがでしょうか。 最後に、上記の対応を行っていた場合など、DBを他の文字コードに変更しなければいけない場合はみなさんはどのように対処しますか? 現場での経験がないので、この疑問に答えて頂けると嬉しいです。

    • 締切済み
    • PHP
  • DTSの解釈について

    こんばんは。 いつもお世話になっております。 SQLServer2000を使用しています。 DTSのエクスポートウィザードを使用し、1インスタンス内で とあるDBから別のDBへオブジェクトをコピーします。 移行元をEXPDB 移行先をIMPDB とします。 ご相談としては移行設計(書面的なもの)についてです。 実際は、DTSが内部でEXPDBからオブジェクトをエクスポートし、 IMPDBへのインポートまで一括実行をすると思います。 この場合、移行作業項目表にエクスポートに1時間、インポートに1時間と記入を分けることは 意味があるでしょうか?。 実は今回、移行作業項目表には、分けて記入してしました。 ところがお客さんに「実施した内容と違う」と指摘を受けています。 DTSは内部でインポートまで実行するため、 トータルで2時間を要する意味です、と後で補足したのですが 手順どおりやっていない、違うことをやっていると言われています。 つまり「エクスポートウィザード」を使用したので、お客さんとしては 別途「インポートウィザード」で別途作業があると思ったらしいのです。 「DTSの実行」という項目で、「2時間」と書くべきであったかも しれません。 またDTSについてお客さんへの説明が不足していたかもしれません。 やはり私に瑕疵があったのでしょうか?。 ご意見を頂けると助かります。

  • データベースの設定ファイルとSQL実行ファイルを分けたいです。

    はじめまして。 PHPを触り始めの者です。 今、mysqlに接続するPHPファイルを作って 接続までは行って成功はしました。 書き方としては、 http://www.phpbook.jp/tutorial/mysql/index3.html このページにあるような感じです。 その次に別でSQLを実行するPHPファイルを作り、 そこでSQLを実行することができません。 SQLは試した結果、間違いはないです。 SQL実行ファイル側でrequire_onceで 設定ファイルの読み込みさせて、次にすぐSQLを変数に入れて、 $result = mysql_query($sql)のような形で 出してみているのですが、 全然SQLの結果がprint_r($result)でプリントできません。 結果はたぶん配列状になる感じです。 何が悪いのでしょうか? 何か初心者でも見てわかる 簡単なDB接続専用ファイルとSQLコマンド専用ファイルを 分けて使ったサンプルソースなどがあれば教えてください。 全然、わからないのでそれに交えて解説していただけると 大変ありがたいです。よろしくお願いします。 またsmartyも使用できる環境みたいなので、 これをできれば使用したいのですが、 どのようにDBにつないだ ファイルを外部ファイルとして読み込みさせて 使用したらいいのでしょうか? 検索をかけてもpearとの絡みばかりでよくわかりません。 pearというものは調べた結果、 使用してるサーバ内に入ってない状態です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • エラー'80040e37'の意味

    サーバーに以下のソースコンテンツをFTPでアップロードして、IEでアクセスした所 Microsoft OLE DB Provider for SQL Server エラー'80040e37' Invalid object name 'sections'. /db/function.asp, 行 279 なるエラーを生じました。 function.asp,のソースコードの行278はsqlSec =のSQLのSelect~Where~文の所です。 function.asp,のソースコード function find_sec(year_no,month_no) Set rsSec = Server.Createobject("ADODB.Recordset") sqlSec = "Select * From sections Where year_no = '" & year_no & "' and month_no = '" & month_no & "'" rsSec.Open sqlSec,DataConn find_sec = rsSec("section_no") rsSec.Close end function このfunctionは today = cstr(Year(Date())) + "年" + cstr(Month(Date())) + "月" + cstr(Day(Date())) + "日" start_date = "08/06/2006" todayDay = Weekday(Date()) firstDayOfWeek = CDate(dateadd("d", -(todayDay-1) , Date())) '#8/1/2006 Jeson dayDiff = datediff("d",start_date,firstDayOfWeek) weekDiff = (dayDiff / 7) + 1 week_reduce = 0 sect_no = find_sec(year(firstDayOfWeek),month(firstDayOfWeek)) Set rsS_show = Server.Createobject("ADODB.Recordset") sqlST = "Select * From sections Where section_no < '" & sect_no & "'" rsS_show.Open sqlST,DataConn if not rsS_show.BOF or rsS_show.EOF then do until rsS_show.EOF ' do until rsS_show("section_no") = sect_no week_reduce = week_reduce + rsS_show("weeks") rsS_show.MoveNext loop end if rsS_show.Close のsect_no = find_sec(year(firstDayOfWeek),month 所で呼び出されています。 何故ここで'80040e37'オブジェクトが存在しないと言うエラーが出るのか、他の意味があるのか、ここはシステム日付の取得の関係かと思いますが、余り良く解りません。 どこが悪いのかご教授下さればと思います。 宜しくお願いします。

    • jyo111
    • 回答数3
  • MVCモデルでのサーブレットのやること

    Javaを習い始めた者です。 MVCモデルでのサーブレットのやるべきことが、いまいちつかめないので質問させていただきます。 私が思っているサーブレットのすることは、 (1)送られてきたた情報をgetParameter()する。 (2)JavaBeanを生成したり、getAttribute()する。 (3)getParameter()したものをJavaBeanにsetする。 (4)JavaBean内のメソッドを実行する。 (5)JavaBeanをsetAttribute()する。 (6)別のJSPなどにfoward()する。 です。 (基本的に計算や比較などの処理は、サーブレット上では行わず、JavaBean内のメソッドで行う) この考え方は間違っていますか? あと例えば、ログイン認証のプログラムを作るとき、上の考え方だと、getParameter()したIdとPasswordをJavaBeanにsetして、JavaBean内のメソッドで、setしたIdを元にDBからPasswordをgetしてきます。そしてこのPasswordと、setしたPasswordを比較することになると思います。 でも、私的にはJavaBean内のメソッドで、引数にgetParameter()したIdを与えて、DBからgetしたPasswordを戻り値にします。そしてサーブレット上で、このPasswordとgetParameter()したPasswordを比較しようと思いました。 でもこれだと、サーブレット上でPasswordを比較するという処理を行っているのでMVCモデルに反しているのでしょうか? わかりにくい説明で申し訳ないのですが、教えてください。 お願いします。

    • ベストアンサー
    • Java
    • A-boy
    • 回答数2
  • mysql_query文字コード変換について教えてください。

    PHP+MySQLで開発を行っておりますが、次の問題でつまずいて 先に進めず困っております。 お助け下さい 環境 Server : Windows2003Server PHP : 4.4.1 MySql : 4.0 <<<<< PHPソース >>>>>>>>>>>>>>> // MySQLに接続 if (!($cn = mysql_connect("localhost","userXXX","PassXXX"))) { die('接続できませんでした: ' . mysql_error()); } // MySQLのクライアントの文字コードをsjisに設定 mysql_query("SET NAMES 'sjis'") or die("can not SET NAMES sjis"); // MySQL DB 選択 if (!(mysql_select_db("dbXXX"))) { die('データベースが見つかりません.'); } // MySQL 問い合わせ $sql = "SELECT * FROM test"; if (!($rs = mysql_query($sql))) { die('セレクトに失敗しました.');       ・       ・       ・ <<<<< PHPソース >>>>>>>>>>>>>>> 上記の環境でソースを実行すると、「can not SET NAMES sjis」の メッセージでエラーとなります。 この関数をとると処理は最後まで正常終了するのですが、 表示される漢字は、文字化けしています。 ちなみにMySQLの5.0環境で実行すると問題なく変換されて正しく 表示されます。 MySQLの4.0環境では mysql_query("SET NAMES 'sjis'") の 関数は使えないのでしょうか? もし使えないとするならば、何か変わりの方法があると良いのですが 表示する時に項目ごとに変換する mb_convert_encoding を 使う方法はあると思うのですが、出来たら手間をかけたくないのと MySQLの4.0環境とMySQLの5.0環境両方でなるべく変更を少なく 実行したいと思っております。 どなたか、お分かりの方がおられましたら是非ご教授下さい。 

    • ベストアンサー
    • PHP
  • 氏名をあいうえお順に並べて行ごとにボタンで表示させたい

    ある住所録があり、 「あ行」のボタンを押すと、「あ」~「お」の氏名の人を表示させ、 「か行」のボタンを押すと、「か」~「こ」の氏名の人を、 「さ行」のボタンを押すと、「さ」~「そ」の氏名の人を、 同じページに表示させたいと考えています。 「あ」~「お」の氏名の人を表示させるSQLはできました。 「か」~「こ」を表示する時も同じように作成すればいいかと思いますが、それをボタンで実行させるプログラムがわかりません。 違うページであれば、違うPHPファイルを作成して、 ボタンからそこにリンクするようにいいのかと思いますが、 同じページでボタンを押すと、それぞれの行の人の一覧を表示させたいと思います。 宜しくお願い致します。 ************************************************************ 「あ」~「お」の氏名の人を表示させるプログラム ************************************************************ <?php print("<table>"); print("<tr>"); print("<td>氏名</td>"); print("<td>住所</td>"); print("</tr>"); $cont = mssql_connect("サーバ名","ユーザ名","パスワード"); mssql_select_db('DB名', $cont); $sql = "select * from テーブル名 WHERE(person LIKE N'あ%')OR(person LIKE N'い%')OR(person LIKE N'う%')OR(person LIKE N'え%')OR(person LIKE N'お%') ORDER BY person"; $rc = mssql_query($sql,$cont); while ($array = mssql_fetch_array($rc)) { print("<tr><td>"); print "[".$array["person"]."]"; print("</td><td>"); print "[".$array["address"]."]"; print("</td></tr>"); } print("</table>"); mssql_close($cont); ?> ************************************************************ 環境 PHP5.23 Apache2.2 SQLserverVersion5 SQLとPHPは別サーバになります。

    • ベストアンサー
    • PHP
  • INSERT INTO ステートメントに認識できないフィールド

    助けてください 下記のコードなのですが、新たに「監督費」のフィールドを追加したいのですが、認識してくれません 「INSERT INTO ステートメントに認識できないフィールド <フィールド名> があります。正しい名前を入力したかを確認して、もう一度操作してください。(Error 3127)」 とエラーメッセージが出てしまいます 何が原因なのかわかりません テーブルT物件情報とT共同受注には「監督費」フィールドは存在します cond = "NZ(B.結果,0) = 0 AND B.確度 IN ('B') AND " & _ "FORMAT(B.発注予定時期,""YYYY/MM"") " & _ "BETWEEN '" & 年月1 & "' AND '" & 年月3 & "' " Set db = CurrentDb Set qr = db.QueryDefs("QS_EIGYO_BC") qr.sql = "SELECT J.部署コード, FORMAT(B.発注予定時期,""YYYY/MM"") AS 年月, B.確度, " & _ "CCUR(NZ(J.受注金額,0)) AS 金額, CCUR(NZ(J.粗利,0)) AS 粗利, CCUR(NZ(J.監督費,0)) AS 監督費 " & _ "FROM T共同受注 AS J " & _ "INNER JOIN T物件情報 AS B ON J.物件番号 = B.物件番号 " & _ "WHERE " & cond & " " & _ "UNION ALL " & _ "SELECT E.部署コード, FORMAT(B.発注予定時期,""YYYY/MM"") AS 年月, B.確度, " & _ "CCUR(NZ(B.受注金額,0)) AS 金額, CCUR(NZ(B.粗利,0)) AS 粗利, CCUR(NZ(B.監督費,0)) AS 監督費 " & _ "FROM T物件情報 AS B " & _ "INNER JOIN Q部署担当者 AS E " & _ "ON B.責任者コード = E.担当者コード " & _ "WHERE " & cond & " AND " & _ "B.物件番号 NOT IN (SELECT 物件番号 FROM T共同受注)" DoCmd.SetWarnings False DoCmd.RunSQL "DELETE * FROM __B;" '下記でエラー DoCmd.RunSQL "INSERT INTO __B SELECT * FROM QS_EIGYO_BC" DoCmd.SetWarnings True

    • msaitou
    • 回答数1
  • ASPでのMySQLストアドプロシージャの実行

    ASP(Active Server Pages)を使用してMySQLのストアドプロシージャを実行する方法をどなたか教えて頂けますでしょうか? 環境  OS    :Windows2000Server  WEBサーバー :IIS  DB    :MySQL Ver5.1.22 ODBC   :MyODBC Ver3.51 MySQLへの接続は、問題無く行えてそうなんですが ストアドプロシージャの実行がうまくいきません。 ASPには、以下のようなコードを記述しています。 Set cn = Server.CreateObject("ADODB.Connection") cn.ConnectionString = "Provider=MSDASQL;DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;USER=root;PASSWORD=XXXX;DATABASE=XXXX;STMT=set names sjis;OPTION=2" cn.Open Set cmd = Server.CreateObject("ADODB.Command") Set rs = Server.CreateObject("ADODB.Recordset") cmd.ActiveConnection = cn cmd.CommandText = "test2" cmd.CommandType=adCmdStoredProc set rs = cmd.Execute ・・・ test2というストアドプロシージャは、 begin select * from テーブル名; end と、単純なselect文となっています。 IEでWEBページを開くと エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [MySQL][ODBC 3.51 Driver][mysqld-5.1.22-rc-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{ call test2 }' at line 1 というエラーが表示されてしまいます。 0x80040E14 というエラーコードをネットで調べてみたりしたのですが 構文エラーというような説明が書かれており、何が原因なのか良く分からなく困っています。 何が原因なのか分かる方がいらっしゃいましたら 教えて下さい。

    • mihocha
    • 回答数2
  • String[] とVectorの使い分け

     失礼いたします。 きっとこの質問は大勢の方が持っているのではないかと思い質問します。 自分はDBを利用した業務系のwebアプリ開発を行っているのですが、 DB情報の取得の際、その情報を何に格納するかで疑問が生じました。 例えば会社情報を検索したとして、各会社の情報はそれぞれ1つのインスタンスに持たせます。 これは会社数だけ繰り返されます。 そこで、そのインスタンスを順次何に入れるかなのですが、 型を持ったインスタンスの配列にするケースとVectorに入れるケースと両方見たことがあります。 きっと他にも方法は多種あるでしょう。 ではここで、配列(この場合インスタンスの配列)とVector、ArrayやListの使い方、またMapとCollectionなどの違いはどのように 利用するのが好都合なのでしょうか?Arrayの場合ポインタ式であることが絡んでくるでしょうか。 それとも昔から業務に固有の風習があり、この業務では習慣的にArrayとListが使われるが、 別の業務だとString[]とArrayが使われる、などのように 歴史的な理由で統一できていないのでしょうか? 全てではなくても、何らかの使われ方の違いや効率のよい 使い方の優先順位などがあれば教えてほしく思います。m(__)m

    • ベストアンサー
    • Java
    • japan_3
    • 回答数3