検索結果
DB
- 全てのカテゴリ
- 全ての質問
- ポータルサイト構築
今後phpでポータルサイトを作っていきたいと思っています。 漠然とした質問で大変申し訳ないのですが、 例えばYahooのようなサイトで言うと、あれだけのページをどういう風に管理しているのかよくわかりません。 HTMLで一つ一つページを作ってというのはとても考えずらいですし、テンプレートみたいなものをYahoo側で管理しているのでしょうか? DBにURLをインサートしたそれを読み込んでいるとか… あまりまだ経験がないのでよくわかりませんが、どうかご教授宜しくお願いします。
- 締切済み
- PHP
- pgBeginImo
- 回答数4
- Linuxサーバのバックアップに利用できる安価なNASはありませんか?
Linuxサーバのバックアップに利用できる安価なNASはありませんか? Red Hat Linux V5 64bit OSでDB(Oracle Database 11g)サーバを購入する予定でいます。 用途は会計システムデータです。 バックアップですが、DATを利用するのが一般的だとは思うのですが、 NASを利用してバックを取れればなと思っています。 利用できるNASを知っている方、現在運用している方がいらっしゃればご回答をお願いします。 サーバのHDDはRAID10で146GB×5 (一本はホットスペア)実行領域292GBです。
- ベストアンサー
- ハードウェア・サーバー
- altaka11
- 回答数3
- エクセルの表の構成・デザインなどに時間がかかる
仕事やプライベートでエクセルを使って表などを 作成する時、いつもとても時間がかかってしまう 上に、なかなか満足するものができず、後から何度も やり直してしまいます。 エクセルのテクニック的なことではなく、表の構成 (項目名や項目の並び、デザインなど)で悩み、試行 錯誤します。10年近くエクセルを使っていて情けな いと思っています。 どうすれば、手早く適切な表を作成できるように なるでしょうか。また、アクセスのDB作成時にも 同じようなことでいつも悩みます。コツや改善する 為のテキストなどあれば教えて下さい。
- ベストアンサー
- オフィス系ソフト
- noname#20023
- 回答数3
- VB.NETでコンボボックスの1行目を空白にしたい
毎度、お世話になっております。 VB.NETでコンボボックスの1行目を空白にしたいです。 (1)[デザイン]のプロパティで設定できますか? 探したのですが、なかなか見つけられず困っています。 コードで記述する方法も分からずながら、試してみましたが、うまくいきません。 (2)もしコードで記述するしかなければ、どのように記述したらよいか教えてください。 ※データは、DBから取得したものを、DataSetに割り当てています。 それをPropertyで宣言したコンボボックスに表示するという形に しています。 どうぞ、よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- mamappi82
- 回答数1
- サーバとVBの連携
VB6.0について質問です。 これまでローカル環境だけのテストでは問題なく実行できていたのですが サーバに置いてあるDBを参照・更新しようとしたときにサーバ側のパスワードが 影響してエラーが発生してしまいます。 一旦VBを終了して端末からサーバにログインした後再びVBからサーバへ接続すると エラー無く実行されます。 このエラーを解消するにはどうしたらよいでしょうか。。。 参照・更新するたびにいちいちサーバに手入力ログインするのはシステム的にも問題があります。 お知恵をお貸しください。。。
- ベストアンサー
- Visual Basic
- go_osaruku
- 回答数7
- 接続の切れたアプリケーション
現在、ORACLE10.1.2+VB.NETで開発を行っています。 どちらに質問するか迷ったんですが、こちらに書かせて 頂きます。 作成したアプリケーションをC/Sで起動を行い。 その後、クライアントのネットワーク接続を切断すると、 アプリケーションの接続は回復するのですが、ORACLEの接続が 回復するアプリケーションと回復しないアプリケーションが 存在します。 この様な症状に心当たりがある人は何かご教授願えないでしょうか? DBの接続自体は、某ツールに任せているんで、内部的なことは まったくわかりません。このようなツールは使いたくないですね・・
- 締切済み
- Visual Basic
- Osorare
- 回答数2
- PHPでMVC requireや$_GET記載場所
PHPで小規模~中規模なシステム構築を行っております者です。 例えば、下記のようなものです。 (1)小規模:簡易な新着ニュースの更新のみ行うCMSなど (2)中規模:ショッピングカートなど 今回、自身の作ってきたシステムをリニューアルするにあたり、 勉強も兼ねてMVCというものを意識して構築してみようかと思ったのですが、 調べれば調べるほど役割やファイルの分け方で迷ってしまうばかりです。(特にCとM) なお、cakePHPなどは使っておりません。 smartyは使用しています。 (1)を使って示しますと、例えば下記のようなファイルわけをしていたとします。 (レイアウト崩れが怖いため、中途半端なツリー記載ですがご勘弁ください。) index.php ・・・ IDパスが未入力の場合はログイン画面を、入力済の場合は管理画面トップ ┃ ┣ controllers ━ control用php ┃ ┣ models ━ 登録処理class.php DB接続class.php ログイン関連class.php(ログイン・ログアウト処理、ログイン保持など) ┃ ┣ views ━ 各種tpl ┃ ┗ その他ファイル(smarty,pear,DB接続情報等記載ファイル,共通使用変数など記載ファイル) 色々なところで見かけるのは、C.M.V、いずれもclassなどが記載してあるのみですが、 そのクラスをどこで宣言し、どこで使っているのかが良く分かりません。 例えば、 パラメーターが ・・・・・?action=config&news_id=15 とあり、 DB内のid15の記事を抽出し、 今行うべき処理が?action=configより記事の更新だと判断し、 画面を表示するという処理の流れがあるとします。 その場合、 ●パラメーターの$_GETはどこに書くのか? ●?action=configより処理が記事の更新だとの判断は ●その他ファイル(smarty,pear,DB接続情報等記載ファイル,共通使用変数など記載ファイル)の読み込みはどこで行うのか? ●modelsのclassをnewで宣言するのはどのファイルなのか? など、 現在私が行っている方法は、 index.phpに上から ・セッションスタート ・各種定数および変数の記載 ・smarty設定 ・DBクラスなど必ず使うものを宣言 ・パラメーターから判断して必要なクラスを読み込んで宣言+処理記載(switchで切り替えてます) ・smartyのdisplayでtplの内容を表示 というものをすべて記載しております。一応形としてはCにあたるのでしょうか。 上のツリーではcontrollers ディレクトリがありますが、 この内どれかをそこに移し、index.phpから読み込むべきでしょうか? (今のところ役割がみあたりません) また、modelsというのは要するにclassなどが記載してあるだけでしょうか? models内ではnewせず$_GETせず、models内のclassの処理を実際に 実行する記載は「C」に書くということでしょうか。 よくわからない文章になってしまい申し訳ございません。 正解はないかもしれませんので、あくまで皆様の行っているやり方や一般的に使われている方法で結構です。 ファイルわけや処理の記載についてお教えいただけると幸いです。 よろしくお願いいたします。
- 二つのPHPファイルを上手く一つにしたいのですが
ラジオボタンABCDを選択して上のNEXTボタンを押したとき、回答をSESSIONの配列に蓄えつつ次の問題へ進みたいのですがなかなか上手くいきません。 助けて頂けると嬉しいです。 ちなみに上のtest.phpでは問題を進んだり戻ったりの表示ができ、下のsession.phpではSESSION配列にクリックした分の回答を格納することができます。 //test.php <?php session_start(); ?> <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <body> <p> </p> <p> <?php $max=$_POST["next"]; if($max==null){ $max=1; }else{ $max++; } ?> </p> <p> </p> <form method="post" action="test.php"> <input TYPE="radio" NAME="name2" VALUE="1" CHECKED>ア <input TYPE="radio" NAME="name2" VALUE="2">イ <input TYPE="radio" NAME="name2" VALUE="3" CHECKED>ウ <input TYPE="radio" NAME="name2" VALUE="4">エ <input type="submit" name="max_1" value="Next"> <input type="button" value="最初から" onClick="location.href='test.php'"> <input type="button" value="Back" onClick="history.back()"> <input type="hidden" name="next" value="<?php print $max?>"> </form> <TEXTAREA readonly cols="100" rows="20" name="e"> <? mb_language("uni"); mb_internal_encoding("utf-8"); //内部文字コードを変更 mb_http_input("auto"); mb_http_output("utf-8"); $db=mysql_connect("localhost","接続ID","パスワード"); mysql_query("SET NAMES utf8",$db); //クエリの文字コードを設定 mysql_select_db("データベース名"); //データベースに接続 if (!$con = mysql_connect("localhost", "接続ID", "パスワード")) { echo "接続失敗" ; exit ; } //データベースを選択 if (!mysql_select_db("データベース名", $con)) { echo "データベース選択失敗" ; exit ; } $sikenbango=111; $mondaibango=$max; if (!$res = mysql_query("SELECT * FROM `MONDAI` WHERE SIKENBANGO='$sikenbango' AND MONDAIBANGO='$mondaibango'",$con)) { echo "SQL失敗<BR>" ; exit ; } //検索した結果を全部表示 while ($row = mysql_fetch_array($res)) { echo $row["mondai"]; echo $row["kaito"]; echo "<BR>" ; } //結果セットの開放 mysql_free_result ($res) ; //データベースから切断 mysql_close($con) ; ?> </textarea> //session.php <?php session_start(); ?> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <?php if (!isset($_SESSION['answer'])) { $_SESSION['answer'] = array(); } if (isset($_POST['submit'])) {//クリックしたとき $qno = intval($_POST['qno']);//整数が入る if (($qno >= 1)and($qno <=80)) { $_SESSION['answer'][$qno] = $_POST['answer']; // セッションに追加 // データベースへも保存したければここに記述 } } else { $qno = 0; } if ($qno == 80) { print "<pre>"; print_r($_SESSION); print "</pre>"; } else { $qno++; print '<form action="session.php" method="post">' . PHP_EOL; print '<input type="hidden" name="qno" value="' . $qno . '" />' ; print '<input TYPE="radio" NAME="answer" VALUE="1" CHECKED>A'; print '<input TYPE="radio" NAME="answer" VALUE="2">B'; print '<input TYPE="radio" NAME="answer" VALUE="3" CHECKED>C'; print '<input TYPE="radio" NAME="answer" VALUE="4">D'; } print '<input type="submit" name="submit" value="NEXT">' . PHP_EOL; print '</form>' . PHP_EOL; print "<hr />"; print "<pre>"; print_r($_SESSION); print "</pre>"; ?>
- 締切済み
- PHP
- mamemamesiba
- 回答数1
- phpのデータベースを使用したsqlのエラー
すみません、PHPでデータベースを読み込み、SQLにて処理するプログラムを作成しているのですが、 再びエラーで止まってしまいまして、困っています。 データベースへのアクセスはできたようなのですが、SQLの処理の部分がエラーになっているのだと思われます。 --------------結果表示-------------- Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\site\search_criteria.php on line 70 @ エラー番号 : 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 'aaa,bbb,ccc FROM `test_table`' at line 1 @ ------------------------- -----------ソース------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>-サイト -検索条件入力ページ-</title> </head> <body> <p>検索条件を入力してください</p><br> <?php # 変数定義関連 # mysqliの定義 global $mysqli; $mysqli = new mysqli('localhost', 'root', "", "****_db"); $link = mysql_connect('localhost', 'root', "", "****_db"); header("Content-type: text/html; charset=shift-jis"); // 文字化け防止 /* 文字セットを utf8 に変更します */ if (!$mysqli->set_charset("utf8")) { printf("処理1:文字コードのセットに失敗しました。: %s\n", $mysqli->error); } else { printf("処理1:文字コードセット-> %s\n", $mysqli->character_set_name()); } printf("<BR><BR>"); #配列定義 $job_name = array("配列定義"); $data = $_GET["job_opening_type"]; //データベースへの接続 if (!$link) { die("処理2:データベースへの接続失敗です。<BR>".mysql_error()); }else{ print("処理2:データベースへの接続成功!<BR><BR>"); } //データベースを選択 if (!mysql_select_db("****_db",$link)){ echo "処理3:データベース選択失敗<BR><BR>"; exit; }else{ echo "処理3:データベースの選択成功です。<BR><BR>"; } $query = file_get_contents("create.sql"); printf("処理4:クエリ->%s",$query); //SELECT文を実行 if($res = mysql_query($query,$link)){ echo "<BR>mysql_query失敗<BR>"; }else{ echo "<BR>mysql_query成功<BR>"; } //検索した結果を全部表示 line 70辺り→while($row = mysql_fetch_array($res,MYSQL_BOTH)){ echo "****=".$row["****"]; echo "****=".$row["****"]; echo "<BR>"; } echo "<BR>@<BR>エラー番号 : " . mysql_errno() . "メッセージ : " . mysql_error() ."<BR>@"; //データベースから切断 $mysqli->close(); echo "<BR><BR>処理5:データベースを切断しました。<BR>"; ?> <br> --------------------------------------------------<br> 最終更新日時<br> <p> </p> </body> </html> 内部のプログラムではなく、外部から読んでいるSQLの問題なのでしょうか? 外部にcreate.sqlというテキストを作成し、 SELECT aaa,bbb,ccc FROM `test_table` としています。 色々試しているのですが、うまくいきません、解決方法を教えて頂きたいです。 よろしくお願いします。
- PHP 検索PG
いつもお世話になっております。 PHP勉強中の初心者です。今回検索PGの作成を試みているのですがうまく検索されません。わかる人がいましたらお力を貸して下さい。 ------------------------------- 環境 レンタルサーバー:カゴヤ PHP 5.2.6 Apache/1.3.41 MySQLバージョン 5.0.33 -------------PHP----------------- <?php $debug = false; //DB接続 require_once("DB.php"); // データベースとの接続情報を記述 //$dsn ="mysql://ユーザー名:pw@localhost/データベース名"; //$db =DB::connect($dsn); if($debug) print_r($HTTP_POST_VARS); //クエリ生成 $query = "SELECT * FROM search "; //検索条件生成 //名前 if(!empty($name)) { $name = addslashes($name); $where = "name = '$name'"; } 住所 if(!empty($address)) { $address = addslashes($address); $where .= "address REGEXP '$address' && "; } //性別 if(!empty($gender)) { $gender = addslashes($gender); $where .= "gender = '$gender' && "; } //スキル if(!empty($skill)) { foreach($skill as $value) { $value = addslashes($value); $temp_where .= "skill REGEXP '$value' || "; } $temp_where = substr($temp_where, 0, -4); $where .= "(". $temp_where. ") && "; } if(!empty($where)) { $where = substr($where, 0, -4); $where = "WHERE " . $where; } $query .= $where; if($debug) { print "<BR><BR>"; print $query; } $result = mysql_query($query); $num_rows = mysql_num_rows($result); if($num_rows == 0) $message = "該当するデータはありませんでした"; else $message = $num_rows . "件ヒットしました"; ?> 検索結果<br> <?=$message?> <table border=1> <tr><td>名前</td><td>住所</td><td>性別</td><td>スキル</td></tr> <? while($row = mysql_fetch_assoc($result)): ?> <tr><td><?=$row[name]?></td><td><?=$row[address]?></td><td><?=$row[gender]?></td><td><?=$row[skill]?></td></tr> <? endwhile; ?> </table> <a href="input.html">再検索</a> ------------------------------- ----------html----------------- <html> <body bgcolor="#FFFFFF" text="#000000"> <form name="" method="POST" action="search.php"> 検索条件を指定してください<br> <table width="500" border="1" cellspacing="1" cellpadding="0"> <tr> <td>名前</td> <td> <input type="text" name="name" size="40" maxlength="255"> </td> </tr> <tr> <td>住所</td> <td> <input type="text" name="address" size="40" maxlength="255"> </td> </tr> <tr> <td>性別</td> <td> <input type="radio" name="gender" value="男性"> 男性 <br> <input type="radio" name="gender" value="女性"> 女性<br> <input type="radio" name="gender" value="その他"> その他</td> </tr> <tr> <td>スキル</td> <td> <input type="checkbox" name="skill[0]" value="ワープロ"> ワープロ<br> <input type="checkbox" name="skill[1]" value="表計算"> 表計算<br> <input type="checkbox" name="skill[2]" value="プログラミング"> プログラミング<br> <input type="checkbox" name="skill[3]" value="営業"> 営業<br> <input type="checkbox" name="skill[4]" value="音楽"> 音楽</td> </tr> </table> <input type="submit" name="submit" value="検索"> <input type="reset" value="条件クリア"> </form> </body> </html> --------------------------------------------------- 名前で検索した際に違う名前でも全件表示されてしまいます。 完全に一致したら表示させたいのですがやりかたがわかりません。 だれかわかるかたいらっしゃいましたらご教授よろしくお願い 致します。
- 複数テーブルの情報を一つのページで使いたいのですが
お世話になります。 mysqlとphpでサイトを構築しています。 複数テーブルの情報を一つのページで使いたいのですが、どうも上手くいきません。 どうかよろしくお願い致します。 環境:Mysql 5.1.22-rc,PHP 5.2.5 データベース:test01 main -------------------------------------------------------- id name kana 1 太郎 たろう 2 次郎 じろう 3 花子 はなこ -------------------------------------------------------- sub1 (実際には8カラムあります) -------------------------------------------------------- id age cat home 1 26 A 東京 2 24 B 千葉 3 31 O 大阪 -------------------------------------------------------- sub2 -------------------------------------------------------- id a_sakuhin title 1 data_1 青空 1 data_2 夕日 1 data_3 流星 3 data_1 町並み 3 data_2 列車 -------------------------------------------------------- sub3 -------------------------------------------------------- id b_sakuhin title 1 data_1 犬 2 data_1 猫 2 data_2 牛 3 data_1 ネズミ 3 data_2 象 -------------------------------------------------------- 上記のような構成になっており、 htmlのページ上では下記の様に表示したいと考えています。 -------------------------------------------------------- *id=1 の人間のページ ───────────────────────── header ───────────────────────── ───────────────────────── テーブルmainとテーブルsub1の内容 ───────────────────────── ───────────────────────── テーブルsub2の内容をデータがあるだけ繰り返す ───────────────────────── ───────────────────────── テーブルsub3の内容をデータがあるだけ繰り返す ───────────────────────── ───────────────────────── footer ───────────────────────── -------------------------------------------------------- このようにしたいのですが、上手くいきません。 現在は <?php //データベースへ接続 $dbname = "test01"; $user = "hoge"; $passwd = "**********"; $host = "hogehoge"; $db = mysql_connect("$host", "$user", "$passwd"); if (!$db){ echo "データベースの接続でエラーが発生しました<br />\n"; exit; } mysql_select_db($dbname); $sel = mysql_query("SELECT * FROM main LEFT JOIN sub1 ON main.id = sub1.id WHERE main.id = '1'"); if (!$sel) { echo "検索でエラーが発生しました<br />\n"; exit; } ?> <?php while ($row = mysql_fetch_array($sel, MYSQL_BOTH)) { ?> <dl> <dt>名前</dt> <dd><? echo $row["name"]; ?></dd> </dl> <dl> <dt>ふりがな</dt> <dd><? echo $row["kana"]; ?></dd> </dl> <dl> <dt>年齢</dt> <dd><? echo $row["age"]; ?></dd> </dl> <dl> <dt>出身</dt> <dd><? echo $row["home"]; ?></dd> </dl> <?php } mysql_free_result ($sel); mysql_close($db); ?> のようにしています。 この下にさらにsub2とsub3の内容を繰り返しで入れたいです。 while文を追加してみたり、for文を入れてみたり試しましたが何度やってもエラーがでてしまいます。 テーブルを4つ連結させるのがいいのか、別々に呼び出すのがいいのか… phpの記述がおかしいのか。そもそも、テーブルの設計から間違っているのか。 何が悪いのか、またphpの記述方法などご教授頂ければと思います。 すみませんが、よろしくお願いします。
- value count on rowというエラーについて教えてください。
ソースを載せます。 <?php require_once("DB.php"); $dbUser = "root"; // ユーザー名 $dbPass = "root"; // パスワード $dbHost = "localhost"; // ホスト名 $dbName = "shopping"; // データベース名 $dbType = "mysql"; // データベースの種類 $dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName"; // データベースに接続 $conn = DB::connect($dsn); // 接続に失敗したらメッセージを表示して終了します。 if (DB::isError($conn)){ die($conn->getMessage()); } // POSTされたデータを受け取り、エスケープします。 if($user_name==""){ print"名前が入力されていません<BR>"; } if($phone==""){ print("電話番号が入力されていません<BR>"); } if($mail==""){ print("メールアドレスが入力されていません<BR>"); }else if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $mail)) { echo "正しいメールアドレスです"; } else { echo "正しくないメールアドレスです"; } if($mail1==""){ print("再度メールアドレスが入力してください<BR>"); } if($zipcode==""){ print("〒が入力されていません<BR>"); } if($address==""){ print("住所が入力されていません<BR>"); } $password = addslashes($_POST['password']); $user_name = addslashes($_POST['user_name']); $zipcode = addslashes($_POST['zipcode']); $zipcode1 = addslashes($_POST['zipcode1']); $ken = addslashes($_POST['ken']); $address = addslashes($_POST['address']); $apart = addslashes($_POST['apart']); $phone = addslashes($_POST['phone']); $mail = addslashes($_POST['mail']); $cardnumber = addslashes($_POST['cardnumber']); $cardnumber1 = addslashes($_POST['cardnumber1']); $cardnumber2 = addslashes($_POST['cardnumber2']); $cardnumber3 = addslashes($_POST['cardnumber3']); $carddate = addslashes($_POST['year']); $carddate1 = addslashes($_POST['month']); $cardmembername = addslashes($_POST['cardmembername']); print$password."<br>"; print$user_name."<br>"; print$zipcode."<br>"; print$address."<br>"; print$phone."<br>"; print$mail."<br>"; print$cardnumber."<br>"; print$carddate."<br>"; print$cardmembername."<br>"; print$ken."<br>"; print$apart."<br>"; print$cardnumber1."<br>"; print$cardnumber2."<br>"; print$cardnumber3."<br>"; print$carddate1."<br>"; print$zipcode1."<br>"; print("2"); $sql = <<<EOS INSERT INTO USERS ( PASSWORD, USER_NAME, ZIPCODE, ADDRESS, PHONE, MAIL, CARDNUMBER, CARDDATE, CARDMEMBERNAME, KEN, APART, CARDNUMBER1, CARDNUMBER2, CARDNUMBER3, CARDDATE1, ZIPCODE1 ) VALUES ( '$password', '$user_name', '$zipcode', '$address', '$phone', '$mail', '$cardnumber' '$carddate', '$cardmembername', '$ken', '$apart', '$cardnumber1', '$cardnumber2', '$cardnumber3', '$carddate1', '$zipcode1' ) EOS; //$sql = mb_convert_encoding( $sql, "SJIS", "EUC-JP"); print$sql; // SQL文を発行 $conn->query('SET NAMES ujis'); $result = $conn->query($sql); if (DB::isError($result)) { die ($result->getMessage()); } $count = $result->numRows(); print "データを" . $count . "件、挿入しました。"; // データベースから切断します。 $conn->disconnect();以上がソースですが、自分ではSQLは正しいと思っていますが、 このエラーがでてインサートできずに困っています。 sql文を表示してみましたがおかしいところは特に見つかりませんでした。それではよろしくお願いします。
- ベストアンサー
- PHP
- voodoo4500
- 回答数1
- ユーザ管理システムについて・・・
現在、登録したユーザアカウントのIDとパスワードを利用してログイン出来るシステムを作成しようとしています。 おそらく「JSP」と「ControllerServlet.java」部分は問題ないと思うのですが「ModelBean.java」に何か問題はあるのでしょうか? <ModelBean.java>は // パッケージの宣言 package myPackage; import java.sql.*; public class ModelBean implements java.io.Serializable{ // privateなプロパティの宣言 private String id; private String pass; private String name; private String aflg; private String process; private String processMessage; private Connection con; private Statement stmt; private String url = "jdbc:mysql://localhost/shopping_db?useUnicode=true&characterEncoding=Shift_JIS"; private String user = "root"; private String password = "123"; private String query = ""; // JavaBeansのコンストラクタの宣言 public ModelBean(){id=""; pass=""; name=""; aflg=""; process="0";} // IDを取得する処理 public String getId(){ return id; } // パスワードを取得する処理 public String getPass(){ return pass; } //名前を取得する処理 public String getName(){ return name; } //アクセス権限を取得する処理 public String getAflg(){ return aflg; } // 処理内容を取得する処理 public String getProcess(){ if (process.equals("2")){ processMessage = "データを登録しました";} else if(process.equals("3")){ processMessage = "下記データを更新しました";} else if(process.equals("4")){ processMessage = "下記データを削除しました";} else if(process.equals("1")){ processMessage = "ユーザーの一覧を表示しました";} else { processMessage = "データ表示画面";}//初期画面 System.out.println("process="+process); System.out.println("processMessage="+processMessage); return processMessage; } public void setProcess(String getProcess){ this.process = getProcess; } // DB接続処理 private void jdbcOpen(){ try{ // JDBCドライバをロードする Class.forName("org.gjt.mm.mysql.Driver"); // DB接続(ODBCデータソースの指定) System.out.println("url="+url); System.out.println("user="+user); System.out.println("password="+password); con = DriverManager.getConnection(url,user,password); stmt = con.createStatement(); } catch (Exception ex) { ex.printStackTrace ();} } // DBクローズ処理 private void jdbcClose(){ try{ stmt.close(); con.close(); } catch (Exception ex) { ex.printStackTrace ();} } // データ読み取り処理 public void selectDatas(String getId) { this.id=getId; jdbcOpen(); try{ // SQL文生成 query = "SELECT * FROM loginuser WHERE id="+id; System.out.println("select query"+query); // 実行 ResultSet rs = stmt.executeQuery(query); // 結果取得 rs.next(); id = rs.getString("id"); pass = rs.getString("pass"); name = rs.getString("name"); aflg = rs.getString("aflg"); rs.close(); } catch (Exception ex) { ex.printStackTrace ();} jdbcClose(); } //新規データ追加処理 public void addDatas(String getId, String getPass, String getName, String getAflg){ this.id=getId; this.pass=getPass; this.name=getName; this.aflg=getAflg; jdbcOpen(); try{ //------------------- // 登録処理 //------------------- // SQL文生成(登録) query = "INSERT INTO loginuser (id, pass, name, aflg) VALUES("+id+", '"+pass+"', '"+name+"', '"+aflg+"') "; // 実行 int flgUpdated = stmt.executeUpdate(query); } catch (Exception ex) { ex.printStackTrace ();} jdbcClose(); } 登録実行部分のプログラムのどこを変えたら動くようになるでしょうか?よろしくお願いします。
- 締切済み
- Java
- noname#124960
- 回答数1
- Apache使ってphpでMySQLへアクセスが…
Macを使っているものです. 最近phpでMySQLにアクセスしようということに取り組んでいます. しかし,apacheがよくないのかmysqlがよくないのか適切に動作してくれません. よくわからないので,手順を書いて問題を言及してみました... 何がいけないのでしょうか... --------- Apacheはデフォルトで入ってるはず・・・ apacheの設定ファイルhttpd.confのポートを8080に設定(これで競合はないはず・・・) ↓ [1]URLにhttp://localhost:8080/とうつと,Apacheのテストページではなく,It works!と出る ↓ とりあえず,Siteフォルダにphpファイルを置き,hello worldを表示.できた(じゃあ,動いてるのかな?) ↓ コマンドラインから「apachectl start」を実行「Already loaded」 じゃあ,動いてるっぽい ↓ じゃあ,DBアクセス用のphpを動作させよう!MySQL導入 ↓ 設定ファイルphp.iniのパスがおかしかったので,mysql.default_socket=/tmp/mysql.sockに変更 実際にcdで移動し,ファイルがmysql.sockがあることを確認 ↓ よーし,実行だ!http://localhost:8080/db_access.php→Not Found あるぇ?なんでだ? ↓ http://(ip直打ち):8080/db_access.php→表示! でも,ソースコード内に以下の記述をしている(簡略化して書きます) ********** $url="localhost" $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); <html>接続ID:<?=$link ?></html> ********** なのに,結果は :::::::::: 接続ID: :::::::::: という風になにも表示されない(・ω・` 結果が「MySQLへの接続に失敗しました。」なら,そもそもMySQLに接続できてないんだろうけど,結果だけがかえってこないのはなんでだろう. ちなみに,$urlをip直打ちにしたらブラウザに怒られた.そりゃそうだよな. --------- という流れで今に至ります. おそらく[1]の時点が問題かと自分では思うのですが,原因がわかりません. ご助言おねがいいたします.
- 締切済み
- PHP
- puyoer0501
- 回答数1
- エラーログの対処方法が分からないII「ご指導願い」
先に以下の項目で質問させていただきましたが、Access2007にあったカレンダー機能がAccess2010にはないとの記述をWEB上で目にしました。そうした経緯から、誠に勝手ではございますが、Access2007で作成したDBをAccess2010インストールパソコンへコピーする際に、「コピー後にやっった方がよいこと(作業の能率アップ等)」「コピー前にやった方がよういこと(作業の能率アップ等)」等のアドバイスをお願いします。尚、殆どのページにカレンダー機能と時刻表示、西暦和暦の表示等を設けております。 【以下が先に投稿させていただきました内容です。】 I、困っていること 「Access2007」で作成したDBを「Access2010」で使用すると、起動直後にエラーダイアログが表示され、スタートフォームが表示できません。対処の方法が分からなくて困っています。 Windows10 Access2007のDB ⇒ Windows10 Access2010 「エラーダイアログ」 II、実施したこと 「Access2007 AccessRuntime」をインストールしましたが効果がありませんでした。 https://www.microsoft.com/ja-jp/download/details.aspx?id=4438 II、確認できたこと Access起動時に表示されるエラーダイアログの「OK」コマンドを実行すると、スタートフォームは表示できますが、フォームに配している「平成年号」「西暦年号」「曜日」のテキスト窓は全て「#name?」になっています。他のフォームに配しているテキストボックスの年号や時刻も全て「#name?」になっています。 III、スタートフォームに配しているテキストボックスとカレンダーコントロール 「カレンダーコントロール」:12.0 ※コマンドボタンでマクロで開く設定。 「平成年号」コントロールソース:=Date()、書式:gggee"年 ※テキストボックス窓 「西暦年号」コントロールソース:=Date() ※テキストボックス窓 「曜日」コントロールソース:=WeekdayName(Weekday(Date())) ※テキストボックス窓 以上ですが、宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- eokwave
- 回答数1
- php+MYSQL
タイトル 本文 書き込み後保存を押すと 下に書き込み保存されていく形です タイトル 本文 書き込み日時 タイトル 本文 書き込み日時 エラー自体は出てないのですが書き込みが反映されません val_dunpで調べたところ resource(7) of type (mysql result) > このように出てきましたなにか文自体に必要なものがないのでしょうか? <?php $link = mysql_connect('localhost','user','pass'); if (!$link) { die('接続に失敗しました。'.mysql_error()); } $db_selected = mysql_select_db('ogawa',$link); if(!$db_selected) { die('データベース選択に失敗しました。'.mysql_error()); } $res = mysql_query('SELECT * FROM test'); if (!$res) { die('クエリーが失敗しました。'.mysql_error()); } if ( $link !==false) { $msg =''; $err_msg =''; if ( isset( $_POST['send'] )=== true) { $subject =$_POST['subject']; $honbun =$_POST['honbun']; $kakikomi = $_POST['kakikomi']; if ( $subject !=='' && $honbun !=='' && $kakikomi !=='' ) { $query = " INSERT INTO test ( " ."subject," ."honbun," ."kakikomi," .") VALUES ( " . "'" . mysql_real_escape_string( $link, $subject ) ."', " . "'" . mysql_real_escape_string( $link, $honbun )."'," . "'" . mysql_real_escape_string( $link, $kakikomi)."'," ." ) "; $kakikomi = date('Y-m-d h:i:s'); $res = mysql_query($query,$link); if ($res !==false) { $msg = '書き込みに成功しました。'; }else{ $err_msg = '書き込みに失敗しました。'; } }else{ $err_msg = 'タイトルと本文を書き込んで下さい。'; } } $query = 'SELECT id,subject,honbun,kakikomi FROM test'; $res = mysql_query($query,$link); $data = array(); var_dump($res); if ($res) { while($row = mysql_fetch_assoc($res)) { array_push($data,$row); } } arsort($data); }else{ echo"データベースの接続に失敗しました"; } mysql_close($link); ?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF8;" /> </head> <body>> <table border="1"> <form action="test6.php" method="POST"> <tr><th>タイトル<td><input type="text" name="text" size="50"></td></tr> <tr><th>本文<td><textarea name="subject" cols="52" rows="8"></textarea> <tr><td><input type="submit" value="保存 する" /></td><tr> </table> </form> <?php if ($msg !=='')echo'<p>'.$msg.'</p>'; if ($err_msg !=='')echo'<p style="color:#f00;">'.$err_msg.'</p>'; foreach($data as $key =>$val) { echo $val['subject'].''.$val['honbun'].''.$val['kakikomi'].'<br>'; } ?> </body> </html>
- さくらインターネットへMTのサーバー移行をしていますが、php化してい
さくらインターネットへMTのサーバー移行をしていますが、php化していたのがおそらく原因で 「500 internal server error」のエラーが表示されます。 ここまでの手順は以下です。 ●http://dog-walk.net/site/movable_type/mt_9.html この手順でDBを移行しました。 ●http://support.sakura.ad.jp/support/manual/rs/mt4_man.shtml この手順でMTをインストールしました。 (インストール先は、/home/hogehoge/www/mt) ※メール設定をした時点で、DBをインポートしていたせいか、本来ならあるはずの公開設定パスなど が表示されずいきなりいつものログイン画面になってログインできました。 ※テンプレやブログ記事内はすべて前の内容が受け継がれていました。 ●追加していたプラグインを新サーバーにもアップロードして再構築をかけてサイトを表示しようとすると、「500 internal server error」のエラーが表示されます。 ●mt-config.cgiの中身もURLやDBに関する内容を書き換え済みです。 ●再構築して生成された.phpの各ページは属性が666になっていたので、手動で755に変えてみても500エラーのまま表示されません。 ●さくらの管理画面よりphp.iniを編集できるとありますが、この意味がよく分からずどう編集するのか分かりません。検索等で調べましたが該当する記事がありませんでした。 結論:さくらインターネットのサーバーでindex.phpなどのファイルを表示させるにはどのような設定が必要ですか? また、このようにMTのサーバー移行を行っている途中ですが、間違っている点やこの先にまだ設定が必要な点などありますでしょうか? どなたかご教授くださいますようお願いいたします。
- 締切済み
- その他(ITシステム運用・管理)
- stlink
- 回答数1
- ベクトルと平面図形
三角形OABにおいて、辺OAを 1 : s ( >0) に内分する点をP, 辺OB を 1 : t ( >0) に内分する点を Q とする。線分BP と AQ の交点を R とする。 (1)OR ベクトルを a ベクトル = OA ベクトル , b ベクトル = OB ベクトル s , t を用いて表せ。 (2)線分 OR が角 AOB を2等分するとき、 s : t を | a ベクトル | , | b ベクトル | を用いて表せ。 という問題なのですが、(1)は理解できて、 OR ベクトル = t * a ベクトル / ( st + s + t ) + s * b ベクトル / ( st + s + t ) となるのですが、(2)の解答は次のようになっています。 (解答)「 直線 OR と 辺 AB との交点を D とする。 このとき、 k を実数として、OD ベクトル = kOR ベクトル とおける。 よって OD ベクトル = k { t * a ベクトル / ( st + s + t ) + s * b ベクトル / ( st + s + t ) } 点 D は辺 AB 上の点であるから kt / (st + s + t)+ ks / (st + s + t)= 1 ゆえに k = (st + s + t)/ (s + t) よって OD ベクトル = t * a ベクトル / (s+t)+s * b ベクトル / (s+t) したがって AD : DB = s / (s + t) : t / (s + t)= s : t ・・・(3) また、線分 OD が角 AOB を2等分することから AD : DB = OA : OB = |aベクトル| : |bベクトル| ・・・(4) (3)、(4)から s : t = |aベクトル| : |bベクトル| 」 となっているのですが、 自分の解答では 「 直線 OR と 辺 AB との交点を D とする。 線分 OD は角 AOB の二等分線であるから、 OA : OB= AD : DB すなわち 1 + s : 1 + t = |aベクトル|:|bベクトル| よって、s : t = |aベクトル|:|bベクトル| 」 という解答になりました。なにか間違っているような気もするんですが、いまいち何が間違っているのかわかりません。どなたかわかる方ご教授願えませんでしょうか?
- 締切済み
- 数学・算数
- mashimaro1
- 回答数1
- SQLデータベースへのアクセスがわからない
VB.Netを始めて一ヶ月。 DB接続は出来たもののREADのみで、更新処理が全く出来ません。 何が悪いのか、どうすればいいのかもわからず途方に暮れています。 どなたかお知恵をお貸し下さい。 下記にプログラムを記載します。 ■◇■ 共通定数 ■◇■ Public gstrSysd As String = "DSN=DbName;UID=UserId;PWD=Password" 一部名称を変更しています。 ■◇■ Readプログラム ■◇■ Public Sub psubDBReadK(ByVal strSql As String, Optional ByVal intDcnt As Integer = 0) Dim godbSysd As New OdbcConnection(gstrSysd) godbSysd.Open() Dim odbCom As New OdbcCommand(strSql, godbSysd) Dim odbRead As OdbcDataReader = odbCom.ExecuteReader(CommandBehavior.CloseConnection) Dim intLcnt As Integer Erase gtblDb glngDcnt = 0 While odbRead.Read() glngDcnt = glngDcnt + 1 ReDim Preserve gtblDb(intDcnt, glngDcnt) For intLcnt = 1 To intDcnt If IsDBNull(odbRead.GetValue(intLcnt - 1)) Then gtblDb(intLcnt, glngDcnt) = "" Else gtblDb(intLcnt, glngDcnt) = Trim(odbRead.GetString(intLcnt - 1)) End If Next intLcnt End While odbRead.Close() godbSysd.Close() End Sub 上記モジュールをSQL文を作成してCallします。 strSql = "" strSql = strSql & "SELECT Mm, Wd, Dd, Nm " strSql = strSql & " FROM TableName " strSql = strSql & "WHERE Fd <= '" & lngYear & "' " strSql = strSql & " AND Ed >= '" & lngYear & "' " strSql = strSql & "ORDER BY Mm, Wd, Dd " Call psubDBReadK(strSql, 4) ここまでは動作確認も出来ましたが、問題はWRITE処理です。 ■◇■ WRITEプログラム ■◇■ Public Sub psubDbWriteK(ByVal strSql As String) Dim odbSysd As New OdbcConnection(gstrSysd) odbSysd.Open() Dim odbCom As New OdbcCommand(strSql, odbSysd) odbCom.Connection.Open() odbCom.ExecuteNonQuery() odbSysd.Close() End Sub 上記コードだとコネクションのオープン時に『既に開かれています』のエラーとなりました。 同コードを削除するとエグゼキュートノンクエリーにて『システムエラー』となり、やはり上手く動作していないようです。 同様にOdbcDataAdapterを使う方法も試してみましたが上手くいきませんでした。 DBアクセスの方法はいくつかあると思いますが、SELECT句と同様の方法でINSERT、UPDATEも行いたいのですが、どうすれば良いのでしょうか? 環境 OS WIN2K VS.Net Professional(VB) DB SqlServer2K
- 締切済み
- Visual Basic
- rukaandkaito
- 回答数1
- 別ファイル(.sql)に記述したクエリの連続実行
毎度お世話になっております。 現在、SQLServer2005EXPRESS,VisualSudio2008(C#)にて、 十数個の新しいストアドプロシージャと、 それを必要とするアプリを作成しております。 これらを配布先で実装するにはどうするのが最も(使用者にとって)容易か? 知恵をお貸しください。 アプリは実行ファイルをそのまま配布(インストーラー等)すれば 問題無いと考えていますが、ストアドプロシージャは配布先の サーバー管理者がDBに追加しなくてはいけません。 現在、ストアドを作成するためのSQL文を記述した "CREATE_01.sql"~"CREATE_10.sql"を用意していまして、 DB管理者はManagement StudioでDBにログインした状態で これら.sqlファイルを順番にダブルクリック&実行していけば ストアドの作成はできます。 ですが全部で10回も同じ操作をせねばいけません。 できれば「これ押すだけで後は待つだけ」くらいに容易な物にしたいのです。 "CREATE_01.sql"~"CREATE_10.sql"の中身は全てストアドのCREATE文 で、試しに1っの.sql内に実行したい順に CREATE PROCEDURE XXX_01 … AS (中略) CREATE PROCEDURE XXX_02 … AS (中略) CREATE PROCEDURE XXX_03 … AS (中略) …と、いった記述をしますと、使用変数等のエラーが多発し、 また10のSQL中でエラーが出ないように変数を振りなおす&確認する 時間を考えると効率的な方法ではなく思えます。 コマンドの連続実行、というと.batファイルが真っ先に思い浮かぶの ですが、.bat 入門 SQLServer 等のキーワードで検索をしましたが batの用法が幅広いからでしょうか? 現状の私に活用・理解出来るサイト等を見つける事が出来ませんでした。 初歩的な質問をしているかもしれませんが、どうぞよろしくお願いします。
- ベストアンサー
- SQL Server
- wendy0303
- 回答数1