検索結果
DB
- 全てのカテゴリ
- 全ての質問
- PHPでredeclareのエラーがでるのですが...
こんにちわ、 現在PHP4でweb作成をしています。それで認証はPHPLIBを使用しているのですが、 「Fatal error: Cannot redeclare class db_sql in /usr/local/apache/phplib-7.4/php/db_pgsql.inc on line 12」 というエラーがでます。 ただ、DB_Sqlというクラスはこのdb_pgsql.incでのみしか使用しておらず(class DB_Example extends DB_Sqlはlocal.inc内で使用しています)、原因が解りません。 おそらく、.htaccess内でprepend.phpをauto_prepend_fileと指定していて、そのprepend.phpのなかで、 (前略) require($_PHPLIB["libdir"] . "db_pgsql.inc"); require($_PHPLIB["libdir"] . "ct_sql.inc"); require($_PHPLIB["libdir"] . "session4.inc"); require($_PHPLIB["libdir"] . "session4_custom.inc"); require($_PHPLIB["libdir"] . "auth4.inc"); require($_PHPLIB["libdir"] . "perm.inc"); require($_PHPLIB["libdir"] . "user4.inc"); require($_PHPLIB["libdir"] . "menu.inc"); require($_PHPLIB["libdir"] . "local.inc"); require($_PHPLIB["libdir"] . "page4.inc"); : (後略) としているために、毎回db_pgsqlがよみこまれるためだとおもいますが、よくわかりません。 質問として漠然としていますが、もしもエラーについてすこしでもなにかしっている方、アドバイスの方、宜しくお願いします。 ちなみにphplib-7.4をインストールしてからかえたのは、 -- .htaccessをかえた(auto_prepend_fileをかえた) -- prepend.phpのdb_mysqlをdb_pgsqlにかえた くらいです。 宜しくお願いします。
- HP上からのPHPによるSQLiteの読み込み
表題のとおり、PHPでsqliteのDBにアクセスして、表示しようと考えています。 サーバーに以下の内容を書いた、result.phpというファイルを置いて、ページを開きました。 <html> <body> <h3>テスト</h3> <?php try{ $db = new SQLite3('sqlit.db'); $result = sqlite_query($db, "SELECT * FROM table"); $db->close(); } catch (PDOException $e) { print "エラー!: " . $e->getMessage() . "<br/>"; } ?> </body> </html> すると、以下のエラーが出ました。 Warning: sqlite_query() expects parameter 1 to be resource, object given in /home/(ファイル置いてある場所)/result.php on line 7 sqlit.dbは適当に作ったファイルで中身はどうでもいいのですが、 エラー内容で検索したところ、一つ目の引数のdb形が違うよーみたいな意味のようですが、解決策がわかりません。 ためしにsqlit.dbを適当な名前にしたところ、その適当な名前のファイルの名前は出てきましたが、 エラー内容は同じでした。 つまり、new SQLite3は実行できている=PHPでSQLのファイルの作成、読み込みは出来ている。 しかし、テーブル名が違うとかといった内容ではなく、型が違う、といわれ困っています。 同じ階層に置いた「php.ini」に以下の3行を記載し、配置してあります。 extension=php_pdo_sqlite.dll extension=php_sqlite.dll extension=php_pdo.dll しばらく調べたのですが、phpそのものが実行されないとか、dbファイルがないといった状況なら調べられそうではあるのですが、実行は出来たけど読み込もうとするとエラーになる。 といわれ調べても情報が出てこず困っています。 何かエラーの可能性になる部分や、調べ方がありましたら教えてください。 ちなみにファイルを置いてあるのはさくらインターネットのサーバーでして、 PHPの設定は「PHP 5.3.8 (CGI版) 」にしてあります。
- 登録画像のファイル名について
perlで書かれた以下のソースで分からないことがあります。 $gazouno = time; foreach ( 1 .. $#lines ) { ( $db_name[$_],$db_input[$_],$db_value[$_],$db_tag[$_],$db_list[$_],$db_need[$_] ) = split(/<>/,$lines[$_]); if ( $db_value[$_] eq "pic" ) { if ( $in{'upfile'} ) { &UpFile; $flag = 0; foreach $confirm_type (@confirm_type) { if ( $tail =~ /\.$confirm_type$/i ) { $flag = 1; last; } } if ( $flag ) { $in{"item$_"} = "<img src=\"$ImgUrl$gazouno$tail\" width=$W height=$H>"; } } } $db_valueに"pic"を入力し画像を添付した場合、$gazouno = time;(現時刻)としているためファイル名が現在時刻に書き直され保存されます。 そのため2枚目以降に添付した画像も1枚目と同じファイル名になってしまい保存できません。 そこで、$gazounoの後に登録順に番号を振りたいのですが($gazouno-1,$gazouno-2,$gazouno-3・・・というように)、 どのようにすればいいのか分かりません。 例えば1枚目のファイル名1245756792.jpgを1245756792-1として以後1245756792-2,1245756792-3とする方法を、どなたかご教授お願いします。
- ORA-1403
質問するカテゴリが間違っていたら申し訳ありません。 oracleを使用しWEBアプリを開発しています。 DB連携を行っていて、 WEB--DB--DB処理という形になっています。 言語はWEB側が java1.5(struts1.2)コンパイルは1.4準拠 DB処理が Cです。(PRO C?) WEB側で値を格納し、DB側で入力値によって処理を 行い結果を格納するのですが、たまにORA-1403のエラーが発生し 正しく処理ができません。 例 tbl_master A001(PK), A002 , A003 ID , linkcode , 結果 tbl_link001 A001(PK), A002 , A003 ID , 値1 , 値2 WEB側でDB格納する際にDB接続からリリースまでのメソッドに synchronizedをかけていますが、これが影響しているのでしょうか? DBのロックではないので問題は無いとは思っているのですが・・・。 ご存知の方がいらっしゃいましたらご教授いただけますでしょうか。 お願いします。
- 検索数の取得について
勉強用に郵便番号のデータベースを作っております。 Pear のDB_Pager とDBとHTML_Template_ITを使いシステムを構築しておりますが DB_Pager とDBで検索の効率化を図りたいと思っております。 DB_Pagerを使うためには総検索数の値を渡さないと動作しません。 その為、 select count(*) from hoge where key like '%入力されたキーワード%' を実行しあらかじめ総検索数を用意しておき Select * from hoge where key like '%入力されたキーワード%'; というSQL文をDBのlimitQuery();を利用し limitをかけています。 得られた検索結果を出力し、DB_Pagerへ総検索数と共に必要な値を引き渡し ページングの為のHTMLを出力しています。 総カウント数取得用のSQLを実行せずにDBのlimitQuery()を実行し 総検索数を得る事はできないのでしょうか。 おそらく実行時間が1秒から2秒短縮されると予想しています。
- ベストアンサー
- PHP
- YUTAKUN007
- 回答数1
- ファーストサーバのレンタルサーバーについて
phpMyAdminからMySQLのDBにデータを入力し、単純にSQL文でWeb上にデータ表示させようとしたのですが、 select文で抽出した日本語が"??"表示されてしまいます。 原因が分らず非常に困っています。 皆様のお力を貸していただけると助かります。 宜しくお願いします。 環境は以下の通りです。 Linux 2.6.x PHP 4.4.7 MySQL 5.0.24a [バイナリ スタンダード版] DBの接続照合順序は「ujis_japanese_ci」で作成 PHPファイルはEUCにて作成 ヘッダー部分 <?php header("Content-Type: text/plain; charset=EUC-JP"); define("ENCDB", "EUC-JP"); error_reporting(4); session_start(); ?> <?php $db = mysql_connect( 'fsv12345678.mysql.db.fsv.jp','TEST','TEST') or die('DB接続失敗 = ' . mysql_error()); mysql_select_db( 'kanri', $db) or die('DB選択失敗 = ' . mysql_error()); $query = "select ID, pass, name from kanri"; $result = mysql_query($query); if(mysql_num_rows($result) != 0) { ?> <table width="400" class="style3" border="1" cellpadding="5"> <tr bgcolor="#CCCCCC"> <td width="100">ID</td> <td width="100">PASS</td> <td width="200">名前</td> </tr> <?php while($row = mysql_fetch_array($result)){ ?> <tr valign="baseline"> <td><?= $row["ID"] ?></td> <td><?= $row["pass"] ?></td> <td><?= $row["name"] ?></td> </tr> <?php } mysql_close($db); ?> </table>
- phpでmysqlのデータがupdateできません。
仕様Apache2.0 PHP5.1.6 MySQL5.0.27 です。 以下の通りです。どこがだめですか? <FORM method="POST" action="order_regist.php"> <INPUT type="hidden" name="id" value="<?=$id?>"> <INPUT type="hidden" name="order_day" value="<?=$order_day?>"> <INPUT type="hidden" name="order" value="依頼あり"> <INPUT type="submit" value="同意して作業を依頼"> </FORM> 上記を次ページへ送信 以下次ページ /* MySQL DB接続情報の設定 DB名/ユーザー名/パスワード */ define("DB_NAME", "*****"); define("DB_USER", "*****"); define("DB_PASS", "*****"); /* リクエストデータの取得 */ $id = $_REQUEST["id"]; $order_day = $_REQUEST["order_day"]; $order = $_REQUEST["order"]; /* MySQLに接続 */ $link = mysql_connect("localhost", DB_USER, DB_PASS) or die("MySQLとの接続に失敗しました。"); /* 接続データベースを選択 */ mysql_select_db(DB_NAME) or die("データベースとの接続に失敗しました。"); /* クライアントのキャラクタセットを変更 */ mysql_query("SET NAMES ujis") or die( "クエリーの実行に失敗しました" ); /* データを更新するクエリーを設定 */ $query = "UPDATE all_cleaning_user SET order = '" . $order . "', order_day = '" . $order_day . "' WHERE id = " . $id; /* データベースにクエリーを実行 */ mysql_query($query) or die("クエリーを実行できませんでした。"); /* MySQLより切断 */ mysql_close($link); クエリーを実行できませんでしたのエラーが出ます。なぜですか?
- データベースを作成するプロシージャ
Webで動作するシステムをユーザー単位でDBを作成し、管理しようと思うのですが、(1)DBを作成するプロシージャというものは作成できるのでしょうか? (2)というかそのようなWebシステムを作成したい場合、1ユーザーにつき1DBという管理方法で正しいのでしょうか? (3)1ユーザーにつき1DBの場合、MYSQLのDBはMY.INIで設定されたメモリを超えない範囲ならいくつでもDBを作成できるのでしょうか? (4)そして作成するプロシージャを作成する場合、以下のような感じでINパラメータのusernameをプレフィックス「DB_」の後ろにつけて作成しようと思うのですが、その場合パラメータをDB_の後ろに連結するにはどのように記述したらよいのでしょう? userkanridb:ユーザを管理しているメインのDB。ここにプロシージャを作成しようと思っています。 DELIMITER $$ DROP PROCEDURE IF EXISTS `userkanridb`.`newDB` $$ CREATE PROCEDURE `userkanridb`.`newDB` (in username integer(8)) BEGIN DROP TABLE IF EXISTS `DB_`.`mConfig`; CREATE TABLE `DB_`.`mCconfig` ( `shime` int(2) NOT NULL, `usernm` varchar(20) NOT NULL, `style` tinyint(1) NOT NULL, `message` varchar(20) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; END $$ DELIMITER ; ご伝授御願いします。 MySQLのバージョン:MYSQL5.0.51
- Audacityの周波数解析
Audacityというフリーの音声合成ソフトを使い、マイクから音声を入力しました。 その音声を周波数分析し、スペクトラムを表示すると縦軸の単位がdBだったのですが、dBの値がマイナスでした。 マイナスということは基準のdBよりも小さい音だったからなのでしょうが、では基準はなんなのでしょうか?Audacityのページを見ても分からなかったので、ご存じの御方、分かるという御方、お答えいただけると嬉しいです。
- if文が通りません。。。
ちょっと急ぎです。 DBからデータを取ってきて表示させるだけなんですが、なぜか上手くいかないので教えてください。 問題は、DBからデータ(String)を持ってきて値がnullのとき if(a == null) { a = "0"; } って処理をさせているんですが、このif文通ってないんです。 直前にDBからデータをひっぱってくる処理をしているんですが…考えられる原因があれば教えてください。 よろしくお願いします。
- データベースの資格を取るならどっち?
現在データベースの資格を取得しようと思っているのですが、ORACLEマスターまたはDB2のどちらか考え中です。しかし圧倒的にオラクルマスターの取得者が回りにおおいのですが、かといってDB2もORACLEと引けをとらない能力を持っていますしなにより受験料が安い! (DB2は10,000円、オラクル15,000円) でも実務上オラクルを使用するのが多いです。 もし取得しようと思うのならあなたはどちらにしますか?
- データベースのサンプルの追加の方法
mysqlで、あるサンプルを追加したいのですが方法がわかりません。 os:centos4.4 あるサイトから/home/web/public_htmlのフォルダにsample_db.sqlをダウンロードしました。 あらかじめaaaというデータベースを作成しました。 # mysql -u root -p aaa < sample_db.sql というコマンドを使いたいのですが その前にダウンロードしたsample_db.sqlをどのように処理すれば 上記のコマンドが使えるのかわかりません。 (移動もしくはmysqlへの読み込み・・・) よろしくお願いします。
- 同時アクセス時の動作
以下のようにプログラムを作成した場合に 疑問点がありますので、ご教授願います。 public class Sample extends HttpServlet{ private static final int int_OK = 0; // 戻り値(OK) private String name; // 名前 private String db_name; // DB名前 protected void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{ // リクエストパラメータ取得 name = req.getParameter("name"); // 名前 // DB検索 db_name = rs.getString("name"); // 結果を返却 } } 【疑問点】 (1) 排他制御やスレッドを行っていません。 ・変数はすべてprivate宣言していますが、 同時アクセスが行われた際の変数はどのようになるのでしょうか? (2) SingleThreadModelを実装した際はどのような動きになりますでしょうか? 不足点などあるかと思いますが、よろしくお願いします。
- データベースを使うメリットとは?
最近見かけるほとんどのWebアプリは何らかの形でDBと共稼動しています。 私は今までDBを本格的に触ったことがないので分からないのですが「DBを使うメリット」とはいったい何なのでしょうか? 例えば会員サイトを構成した場合、会員に個人情報を登録してもらうことにします。この場合、WWW上から見れないディレクトリにログをためればいいのではないでしょうか?読み込ませる場合も<>かなにかで区切れば何の問題もないように思えます。最近ではSQLインジェンクションなどの攻撃も目立ちDB関連による個人情報流失のニュースをよく目にします。 どうぞよろしくお願いいたします。
- アクセスのリレーションシップに関して
アクセスでDBを構築して業務で使用しているのですが、容量がかなり大きくなってきたのでデータと、フォーム等による入力・検索を別DBで実施したいと思っています。そこで、元DBをコピーしてコピー先のテーブルを全て元DBからのリンクにしようとしたのですが、リンクを貼った後にテーブル名を置き換えしようとするとリレーションシップを削除しろというメッセージがでてしまいます。下手くそなシステムで、後でリレーションシップを貼りまくっているので、いちいちリレーションシップ削除・再構築をしようとすると膨大な作業になってしまいます。どなかか、リレーションシップを削除せずにテーブルを置き換える方法をご存知ないでしょうか。
- ベストアンサー
- その他(データベース)
- mikawakko
- 回答数1
- inputタグのvalue内で「"」「'」を使うには
inputのvalueの中で「"」「'」を用いる場合、 &"を用いると思いますが DBに書き込みたい内容をhiddenで持たせておく場合 &"としておくと、DBそのものに &"と書いてしまいますよね? DB書き込み前に戻してやる必要があるのでしょうか? やりたいことは 記入フォーム(textarea)→画面確認→書き込み という動きなんですが、その画面確認のときに 値をhiddenで持たせてるんです。
- Movable Typeはwindowsサーバで動く?
Movable Typeを使ってブログを構築しようと思ったのですが、うちの会社のWebサーバはwindows2000です。 windows2000サーバでも、Movable Typeは動作するのでしょうか? DBに、Berkeley DB、MySQL、PostgreSQL、SQLite などが必要とのことですが、これらのDBはwindowsでは動作しないと思ったので、質問させていただきました。 また、webサーバにWindowsを使っている環境で動作するブログ構築ソフトがあれば教えてください。
- エンコード・デコードの仕方
インターネットのアドレス欄に良く見る %a4%db%a4%b2%a4%db%a4%b2+%a4%db%a4%cb%a4%e3%a4%e9%a4%e9%a1%c1 って感じのエンコード文字列ですが、 これはナニ形式と呼ぶのでしょうか? また、この文字列をデコードするにはどうしたらよいのでしょう? Excelマクロ(VBA)のなかでちょっと使ってみたいので、 どなたか、ご教示の程おねがいします。
- ベストアンサー
- Visual Basic
- Passerby01
- 回答数3
- DAOでODBC経由のRDBに接続し、SQLでアクセスしたい。
Dim ws As DAO.Workspace, db As DAO.Database Dim rs As DAO.Recordset ' デフォルトのワークスペースを定義する Set ws = DBEngine.Workspaces(0) ' ODBC接続文字列を指定してデータベースを開く Set db = ws.OpenDatabase("", False, False, _ "DSN=SQL_K;ODBC;Driver={SQK_K};" & _ "SERVER=(local);DATABASE=pubs;" & _ "UID=*****;PWD=*****;" ' SQLステートメントを指定してレコードセットを作成する Set rs = db.OpenRecordset("select * from TWSQLK1",dbOpenDynaset, dbSeeChanges) このレコードセットは正常に行きますが 直接SQLを記述する方法が、わかりません
- 締切済み
- その他(ソフトウェア)
- zazam4
- 回答数3
- サーバ負荷を考慮した処理
apache2, PHP4.1, MySQL4でECサイトを構築しています。OSはLinux。 注文情報をMySQLのテーブルに格納した後、MySQL以外にも別にDBが存在しており、そちらにも同時にXML形式で渡して格納しています。 しかし負荷が上がると別DBへのアクセスがボトルネックになっているようで、ECサイト側のLoad Averageが高くなっているところまで判明しました。 MySQLと別DBは完全同期でなくてもかまわないので、できれば、ブラウザのアクセスとは切り離した形で、テーブル内の情報を別DBにポツポツアップしていきたいのですが、どのようなやり方が最適でしょうか。
- ベストアンサー
- その他(プログラミング・開発)
- gapp
- 回答数2