現在、ウェブサーバとデータベースサーバをレンタルし、phpでウェブサイトを構築し、ウェブサイトからデータベースを読み込んだ上で、結果をウェブサイト上に表示しています。
その際、下記のようなことを行ないたいと思ったのですが、どのようにすれば良いか分からなかった為、アドバイスいただける方がいらっしゃいましたら、
ご教示の程よろしくお願いします。

【やりたいこと】
データベースに問題が発生した場合、その旨をウェブサイト上に表示したいと思います。

例えば、データベースへのアクセス時は、下記のような関数を使用すると思いますが、繋がらない場合、何故繋がらないかという理由を取得する事は可能でしょうか?
(例:データベースが起動していない。
mysqlは起動しているものの、アクセス集中により見えない。
mysqlは起動しているものの、回線に問題あり。)
http://php.net/manual/ja/function.mysql-connect. …
http://php.net/manual/ja/function.mysql-select-d …

なお、問題発生時に詳細な状況を取得したい理由としては、その後の復旧作業に役立てたいと思っているからです。

以上、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

それでもわかりますが、



原因はわかりません。基本はログを見ろ。と言うことです。

そのために、いろんな事を想定しログの出力を準備しておく事です。なかにはオプションをつけて起動しておくと、詳細なログを吐き出すようなアプリもあります。

デフォルトでなぜそうなっていないかですが、それは当然パフォーマンスを悪くするからです。原因と要因がつかめないとき、詳細モードにしてログを吐き出させるわけです。

このログは、OSの詳細ログ、そのマシンのデーモン(サービス)のログ、当然搭載しているアプリのログを

時間系列で見て(刑事ドラマのアリバイくずしと同じです)、何がその時起きていたのか把握することです。

その前に、あなたが提示したような部分で、現象をまず、捉えることです。

接続しに(コネクション)言ったときのエラー内容(ログにも記載される)と、デーモン起動時のエラー内容、さらに再起動(デーモンレベルとOSの再起動)してみて、回復可能か? と言う事も要因などを探る手立てです。

これらが、トラブル時の現象把握です。

よくあるのが、「検索できません」などと投稿してくる方がいるが、それは2次的な事なので現象を捉えたとはいえません。デーモンが起動していなければ検索なんてできませんよね。デーモンがハング状態でも検索できないし、あほなのは、ネットせに接続(サーバーに)できていないのに、「検索できません」と言う。こいつは、才能無いな、と周りでは思っている。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ご意見参考にさせていただきます。
以上、よろしくお願いします。

お礼日時:2011/04/20 22:21

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q英語を好きになる方法 私、英語がとても苦手で中学基礎も危うい状態です。 あと2年後には大学受験なので

英語を好きになる方法

私、英語がとても苦手で中学基礎も危うい状態です。
あと2年後には大学受験なので、英語にほぼ全ての情を注ぐ作戦でいこうと思います。
文系志望で、世界史に関しては特殊能力を持っていて、中学の時から皆が必死に書いて覚えている中、教科書パラ読みで学年トップを何回も取ったことがあります。
国語も並には出来るので、勿論やります。

英語作戦どうですかね?

Aベストアンサー

公立中学で並=底辺大学レベル、ですよ。
勿論、底辺高校で並、なら底辺大学に届いていません。
世界史は、その能力が、高校世界史で通用するかどうかです。
むしろ、

> 中学の時から皆が必死に書いて覚えている中

こっちの勉強方法が間違っているのです。
重要語句だけ丸暗記すればいい、ってのは間違いです。少なくともそれでスラスラ丸暗記できる丸暗記能力異常者以外は。
間違った勉強方法を採っている多くの人よりできる、というのはそりゃそうです。

中学英語が怪しいなら、中一英語からやり直せば良いでしょう。
国語や数学だと、酷い場合は小一からですが、英語なら中一からで済む。
どうしたら良いか判らないのであれば、公文でみて貰うと良いでしょう。
あそこは学年完全無視、一つ一つできるまでやらせる、という方針でしょうから。
一応念のため、極普通の公立高校入試の過去問を解いて、解いた結果を持って行くと良いでしょう。
過去問は、公立高校入試の日程をネットで調べて、その翌日の新聞を図書館出だして貰えば、たぶん載っているので、それで入手できるでしょう。

> 英語作戦どうですかね?

偏るのはダメです。
志望校がどこか、現状学力の客観的指標がどうなっているのか、「フェイクなんぞを入れたために」全く見当が付きませんが、志望校の合格レベルに達して、しかも全範囲履修が終わった物は、志望校レベルの過去問や問題集を、最低週一で特くらいで流して良いとは思いますが、そうで無い場合は、油断は禁物です。
私も経験がありますが、そういう偏食は失敗の元です。
勿論、英語を重視せざるを得ないのはそりゃそうで、英国社三科目均等にやれとは言いませんが。
あなたが底辺高校で上位なのであれば、均等にやれば、最初に片付くのは世界史だろうと思います。得意科目でもありますし。
そこで、世界し終わった、俺すげぇ、と勘違いしないように。そもそもの分量が少ないのです。
国語は、志望校(のレベル)によって、現古漢、漢文無し、古文も無し、なんて分かれるでしょうから、どこを狙うのか「自分の学力に照らして」明確にすべきです。
思いの外学力が上がっちゃった場合は悲劇が起きますがね。
最初は現古漢、でも良いかもしれません。

で、模試をきちんと受けること。
まだ勉強が足りてないから模試は今度、というのは低学力高校生の定番で、勿論失敗するパターンです。
模試は、結果の推移を見なければなりません。
低いところから上がっていったのと、1回受けてその1回がまぐれだったのとで、判断が変わるはずです。
高校の先生に、進研模試が受けられないか相談してください。
ダメな場合、河合の記述模試、河合のマーク模試、河合の私大模試、駿台と進研の共催模試(記述もマークもあるのかな)、を自分で申し込んで受けていって下さい。
客観的な学力が判らなければ、どこに受かりそうか落ちそうか判らず、どこに出願すべきか決まりません。
どのレベルなら通用しそうな学力なのかは、もっと判らないはずです。

公立中学で並=底辺大学レベル、ですよ。
勿論、底辺高校で並、なら底辺大学に届いていません。
世界史は、その能力が、高校世界史で通用するかどうかです。
むしろ、

> 中学の時から皆が必死に書いて覚えている中

こっちの勉強方法が間違っているのです。
重要語句だけ丸暗記すればいい、ってのは間違いです。少なくともそれでスラスラ丸暗記できる丸暗記能力異常者以外は。
間違った勉強方法を採っている多くの人よりできる、というのはそりゃそうです。

中学英語が怪しいなら、中一英語からやり直せば良いで...続きを読む

Q現在、レンタルサーバ(コアサーバー)上でPHP5とmysqlでサイトへ

現在、レンタルサーバ(コアサーバー)上でPHP5とmysqlでサイトへのアクセス数とサイト上の複数のリンク先へのクリック数のログを取得し、一日一回それらを一つのテーブルへ集計し、レポート表示させるプログラムを作成しました。

一日のログが少なかった頃は問題なく動いていたのですが、一日のログ数が10万を超えた辺りから集計処理がタイムアウトしてしまい、集計ができなくなってしまいました。

下記のようなイメージで集計プログラムとして動かしています。
ループ数は25,000回位です。
ループ中にはmysqlからの読み込みと書き込み処理を含んでおります。

$i = "0";
do{//サイト数だけループ
$cat_i = "0";
do{//カテゴリ数だけループ
$carrier = "0";
do{
$cl_i = "1";
do{
}while($cl_i < 21);
   $carrier = $carrier + 1;
         }while($carrier < 3);
$cat_i = $cat_i + 1;
}while($cat_i < $rows_cat);
$i = $i + 1;
}while($i < $rows_clsite);

PHPを触り始めて日が浅いもので、ループを多用して重い処理になっているのはわかっております…。
コードの書き方自体もなっていないと思いますが、タイムアウトせずに動かせなく困っておりまして、アドバイスを頂ければと思っております。

PHP・ブラウザのタイムアウト対策は、
set_time_limit(0);
ob_end_clean();
echo str_pad('',256);
flush();
sleep(1);
としており、上記で暫くは処理時間を伸ばすことができておりました。

また、phpがapachユーザー?として動く為、apachのタイムアウトに引っかかるのではと、コアサーバーのサイトに記載されていた、CGI版PHPとして動かす方法(.htaccessに記載する方法)でも試してみたのですが、結果は変わりませんでした。
しかし、本当にCGI版として動いているのか確信はありません。。

試行錯誤の上、上記のループの$iの部分を1回終了毎にブラウザに戻し、metaのRefreshで15秒開け次の処理を行わせたり、$iのループ毎に手動でPOSTにて送信し、細切れにして処理をさせているのですが、細切れにした処理だけでもタイムアウトになったりならなかったりを繰り返しております。

上記の方法では、ブラウザのタイムアウト対策をしているだけではと思いつつも、原因がどこにあるのか思い当たらない為、どう対処していいのかさえわからない状況となっております。。

単純に、apachのタイムアウトに引っかかっているのか、負荷が大きいためなんらかのサーバの制限に引っかかっているのか等、考えられる原因やその原因を一つ一つ切り捨てていけるような方法等がありましたら、ご意見お願いできればと思います。

自前のサーバの準備も進めておりますが、暫く時間がかかってしまいそうですので、現在の環境で応急処置できればと思っております。

タイムアウト時はphpなどのエラーメッセージは出ず、IEの「このページは表示できません。」というメッセージが表示されております。

乱文にて申し訳ありませんが、お知恵をお貸し頂けますと大変幸いでございます。
宜しくお願い致します。

現在、レンタルサーバ(コアサーバー)上でPHP5とmysqlでサイトへのアクセス数とサイト上の複数のリンク先へのクリック数のログを取得し、一日一回それらを一つのテーブルへ集計し、レポート表示させるプログラムを作成しました。

一日のログが少なかった頃は問題なく動いていたのですが、一日のログ数が10万を超えた辺りから集計処理がタイムアウトしてしまい、集計ができなくなってしまいました。

下記のようなイメージで集計プログラムとして動かしています。
ループ数は25,000回位です。
ループ中にはmysqlか...続きを読む

Aベストアンサー

execの使い方は合ってますが、どうやら制限によって難しそうですね。
そこまで制限してるならサーバー移行が良いかも知れません。

と言いつつ、一つ思いついたので書いておきます。

「実行時刻(時)の2時間前~1時間前のログのみを対象として集計する」というスクリプトを1時間に1回実行します。
2010/2/20 0:00~1:00のログは同日2時に集計
2010/2/20 1:00~2:00のログは同日3時に集計・・・
保存先のDBでそのような分割実行でも集計できるテーブルになってる必要がありますが、計算量は24分の1になるはずなのでしばらくは大丈夫だと思います。
#実際には引数でいつの分を集計するか指定できたほうが良いですが

Q状態を英語で言うと

電気回路に関する論文(英語)を書いています。
その中で、節点(素子と素子がつながる点、node)の状態を述べるくだりがあります。節点が開放状態(open)であるとか、接地状態(grounded)とか、5Vになっているとか、です。「節点の状態」という用語を英語で書こうとしたのですが、「状態」の英訳として、何が適切なのか、迷っています。辞書を調べると、state/status/conditionなどたくさん出てきます。これらは、どう使い分けるものなのでしょうか。そして、「節点の状態」と述べる際に適しているものは、何でしょうか。
お分かりになる方がおりましたら、お教えいただけると助かります。
ちなみに、その他、situation/circumstancesなどもあります。しかし、これらは、私の抱いている印象では、周囲の状況を指しているような気がしています。

Aベストアンサー

 state/status/condition 全てが使えると思います。

論文にする場合、同じ単語を使わないで順に同意語を割り当てた方がいい場合があります。
混乱を招かない様に決まった単語をあえて使う場合は別ですが。

とは言っても この場合は status が一般的かもしれません。
stateには「述べる」 といった意味もあるし、condition には「条件」 といった意味合いの時によく使うようです。

situation/circumstances もおっしゃる通り、その目的物の周りの説明に使うことが多いですね。機器の接続状態や周囲温度、湿度など。(この場合はconditionも使えますね。)

state/status/condition をうまく割り振って(あるいは選んで)お使いいただければいいと思います。

QPHP5でpostgresqlのデータベースに接続する簡単なPHPプロ

PHP5でpostgresqlのデータベースに接続する簡単なPHPプログラムを書きました。

ローカルホストにブラウザでアクセスすると正常に動作し、
コマンドラインで実行すると、次のエラーが発生します。

PHP Fatal error: Call to undefined function pg_connect()


コマンドラインでphpのバージョンを見ると以下のとおりです。
C:\>php -v
PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies


ブラウザで、phpinfo();を実行した際の情報には postgresqlのDBドライバがあります。

pdo_pgsql
PDO Driver for PostgreSQLenabled
PostgreSQL(libpq) Version 8.3.3
Module version 1.0.2
Revision $Id: pdo_pgsql.c,v 1.7.2.11.2.1.2.4 2009/03/28 01:58:49 mbeccati Exp $

pgsql
PostgreSQL Supportenabled
PostgreSQL(libpq) Version 8.3.3
Multibyte character support enabled
SSL support enabled
Active Persistent Links 0
Active Links 0

DirectiveLocal ValueMaster Value
pgsql.allow_persistentOnOn
pgsql.auto_reset_persistentOffOff
pgsql.ignore_noticeOffOff
pgsql.log_noticeOffOff
pgsql.max_linksUnlimitedUnlimited
pgsql.max_persistentUnlimitedUnlimited



テストソースです。パスワード・DB名は伏せています。

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>PostgreSQLテスト</TITLE>
</HEAD>
<BODY>
<?php

$db_host = "localhost";
$db_port = 5432;
$db_user = "postgres";
$db_pass = "xxxx";
$db_name = "yyyy";

// PostgreSQL 接続
if (!($cn = pg_connect("host=$db_host port=$db_port dbname=$db_name user=$db_user password=$db_pass"))) {
die;
}

// PostgreSQL 切断
pg_close($cn);

// 正常終了
print "<P>正常終了</P>";
?>
</BODY>
</HTML>



よろしくお願いします。

PHP5でpostgresqlのデータベースに接続する簡単なPHPプログラムを書きました。

ローカルホストにブラウザでアクセスすると正常に動作し、
コマンドラインで実行すると、次のエラーが発生します。

PHP Fatal error: Call to undefined function pg_connect()


コマンドラインでphpのバージョンを見ると以下のとおりです。
C:\>php -v
PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies


ブラウザで、php...続きを読む

Aベストアンサー

CLIでPHPを動かすと、見に行くphp.iniが違ったりします。

直接使用するphp.iniを設定するには、phpコマンドに「-c full_path」を指定する必要があります。
http://search.net-newbie.com/php/features.commandline.html

Q花瓶にいけてある状態の花を英語で何というか

花瓶にいけてある状態の花を英語で何というか教えてください。
英語で画像検索したいのですが、わかりません。
ブーケではないです。
よろしくお願いします。

Aベストアンサー

 下記のようなのは、 flower arrangement といいます。
 https://www.google.com/search?q=flower+arrangement&client=firefox-a&hs=ov1&rls=org.mozilla:en-US:official&channel=sb&tbm=isch&tbo=u&source=univ&sa=X&ei=m4JtVLHECo2rjALzyYCgDQ&ved=0CEgQsAQ&biw=1920&bih=888

 「生けた花」は、arranged flowers です。

QPHPとSmartyを使い、データベースからのデータを表示したい。

PHP・Smartyを使い、DBからの表示を行おうとしています。
基本的な作業だとは思うのですが、なかなかできないので、教えてください。

ソースコードです。

//////PHPのコード
<?php require_once('Connections/dbconn_mylocal.php'); ?>//DBへの接続を行っている。ここは正常。

<?php
$sql = 'SELECT * FROM c_movie';
$result = mysql_query($sql, $conn);

while($row = mysql_fetch_array ($result)){
$movie = $row["movie_title"];

}

$smarty->assign('movie', $movie);
$smarty->display("test1120.tpl");

?>


/////////////////tplファイル
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Smartyで表示する</title>
</head>

<body>

({foreach item='con' from=$movie})
({$con})
({/foreach})

</body>
</html>


よろしくお願いします!

PHP・Smartyを使い、DBからの表示を行おうとしています。
基本的な作業だとは思うのですが、なかなかできないので、教えてください。

ソースコードです。

//////PHPのコード
<?php require_once('Connections/dbconn_mylocal.php'); ?>//DBへの接続を行っている。ここは正常。

<?php
$sql = 'SELECT * FROM c_movie';
$result = mysql_query($sql, $conn);

while($row = mysql_fetch_array ($result)){
$movie = $row["movie_title"];

}

$smarty->assign('movie', $movie);
$smarty->disp...続きを読む

Aベストアンサー

>$movie = $row["movie_title"];
がおかしいかと。

$movies = array();
while($row = mysql_fetch_array($result)){
 $movies[] = $row;
}
$smarty->assign('movies', $movies);

{foreach item='movie' from=$movies}
{$movie.movie_title}
{/foreach}

Q本やポスターなどのかどに少し折れ目がある状態を英語ではどのように表現す

本やポスターなどのかどに少し折れ目がある状態を英語ではどのように表現するのでしょうか?
よろしくお願いいたします。

Aベストアンサー

 下記のように dog ear 「犬の耳」といいます。

 http://eow.alc.co.jp/dog+ear/UTF-8/

 動詞にもなり、 dog-eared 「角が折れた」「古い(本)」、make a dog-ear「角を折る」、dog-ear a page「ページの角を折る」などの使い方があります。

QPHPにて自動計算した値をデータベースに登録する方法について教えて下さい。

商品の出荷記録を作成しています。
しかし、phpで自動計算した値をデータベースに登録する方法が分かりません。

データ記入のindex.phpとindex.phpから受け取ったデータを計算するcheck.phpを作成しています。
一番下[実際の入力]の★部分が分からないです。

商品種目によって単価×数量で価格が決まるものと、
単価×重量、単価×容量で価格が決まるものの三種類があります。

例えば、スーパーでお肉が1kgあたり80円の商品と、
お菓子で1個100円の商品と、お水が1L当たり120円の
モノがあるという感じです。

例1)
1.単価円×数量(商品の個数)=価格
2.単価円×重量(kg)=価格
3.単価円×容量(L)=価格

そして、今回データベースに記録したいのが、
1.日付、2.商品名、3.個数、4.重量or容量、5.価格です。

重量(kg)と容量(L)に個数が必要なのは、そのkgを抽出するのに
何個、または何羽原材料に使ったか?を記録するため、結局は
全商品個数を入力する必要があります。

例えば、1羽の鳥から100gの重量肉が取れたや、
100個のオレンジから10Lの果汁が抽出できた等です。

今回【index.php】は入力画面となり、
上記 例1)価格の値は空白にしています。

【index.php】
<tr><th>価格</th><td><span class="yo">円</span></td></tr>

次の【check.php】にて計算して出力しようと考えました。

$kakaku=$jyuryo*$tanka;
⇒$jyuryoの変数には重量(kg)と容量(L)のどちらかの値が入っています。
 例1)の2と3の場合の価格になります。

$tkakaku=$kosu*$tanka;
⇒$kosuの変数には商品の数量値が入っています。
 例1)の1の場合の価格になります。

そして、【check.php】のテーブルに価格の計算結果を表示させています。
$syouhinで商品1をセレクトした場合は、例1)の1の計算をして、
それ以外の商品は例1)の2と3の計算をして表示させるというものです。

print "<tr><th>価格</th><td>";
switch($syouhin){
case '1': print $tkakaku;break;
default: print $kakaku;
}
print "円</td></tr>

この計算結果を変数に入れる方法が分からないのです。
データベースに計算結果を登録するには変数が必要と考えています。

もし、変数がなくてもデータベースに登録する方法がございましたら、
教えて下さい。

[実際の入力]
【index.php】
<form action="check.php" method="post" accept-charset="utf-8">
<table border="2" align="center">
<caption>出荷記録</caption>
<tr><th>日付</th><td><input name="hiduke" type="date" value="yyyy-mm-dd"></td></tr>
<tr><th>商品名</th><td><select name="syouhin">
<option value="1">商品1</option>
<option value="2">商品2</option>
<option value="3">商品3</option>
</select>
</td></tr>
<tr><th>個数</th><td><input name="kosu" type="text" size="10"><span class="yo">個</span></td></tr>
<tr><th>重量orリットル</th><td><input name="jyuryo" type="text" size="10"><span class="yo">kg・L</span></td></tr>
<tr><th>単価</th><td><input name="tanka" type="text" size="10"><span class="yo">円</span></td></tr>
★<tr><th>価格</th><td><span class="yo">円</span></td></tr>★
</table>
</form>

【check.php】
<?php

$dsn='mysql:dbname=kaka;host=localhost';
$user='root';
$password='';
$dbh=new PDO($dsn,$user,$password);
$dbh->query('SET NAMES UTF-8');

$hiduke=$_POST['hiduke'];
$syouhin=$_POST['syouhin'];
$kosu=$_POST['kosu'];
$jyuryo=$_POST['jyuryo'];
$tanka=$_POST['tanka'];
$kakaku=$jyuryo*$tanka;
$tkakaku=$kosu*$tanka;

if($hiduke==''){print '<table border="2" align="center" width="450"><caption>出荷記録</caption><tr><th>日付</th><td class="ng">日付が入力されていません。</td></tr>';}
else{print '<table border="2" align="center" width="450"><caption>出荷記録</caption><tr><th>日付</th>'; print "<td>$hiduke</td></tr>";}

print "<tr><th>商品名</th><td>";
switch ($syouhin){
case '1': print '商品1';break;
case '2': print '商品2';break;
case '3': print '商品3';break;
default: print '商品が指定されていません。<br />';
}
print "</td></tr>";

if($kosu==''){print "<tr><th>個数</th><td>個数が入力されていません。</td></tr>";}
else{print "<tr><th>個数</th><td>$kosu 個</td></tr>";}

if($jyuryo==''){print '<tr><th>重量orリットル</th><td>重量が指定されていません。</td></tr>';}
else{print "<tr><th>重量orリットル</th><td>$jyuryo";
switch($syouhin){
case '1': print 'L';break;
default: print 'kg';
}
print "</td></tr>";

if($tanka==''){print "<tr><th>単価</th><td>単価が入力されていません。</td></tr>";}
else{print "<tr><th>単価</th><td>$tanka 円</td></tr>";}
★print "<tr><th>価格</th><td>";
switch($syouhin){
case '1': print $tkakaku;break;
default: print $kakaku;
}
print "円</td></tr></table>";}★

if($hiduke==''||$syouhin==''||$kosu==''||$jyuryo==''||$tanka==''){print '<form accept-charset="utf-8"><div class="botan"><div class="data1"><input type="button" onclick="history.back()" value="戻る"></div></div></form>';}
else{
print '<form method="post" action="index.php" accept-charset="utf-8"><div class="botan"><div class="data1"><input type="button" onclick="history.back()" value="戻る"></div>
<div class="reset1"><input name="nyryoku" type="submit" value="入力確定"></div></form>';}

$sql='INSERT INTO shipping (hiduke,syouhin,kosu,jyuryo,tanka) VALUES("'.$hiduke.'","'.$syouhin.'","'.$kosu.'","'.$jyuryo.'","'.$tanka.'")';
$stmt=$dbh->prepare($sql);
$stmt->execute();

$dbh=null;
?>

商品の出荷記録を作成しています。
しかし、phpで自動計算した値をデータベースに登録する方法が分かりません。

データ記入のindex.phpとindex.phpから受け取ったデータを計算するcheck.phpを作成しています。
一番下[実際の入力]の★部分が分からないです。

商品種目によって単価×数量で価格が決まるものと、
単価×重量、単価×容量で価格が決まるものの三種類があります。

例えば、スーパーでお肉が1kgあたり80円の商品と、
お菓子で1個100円の商品と、お水が1L当たり120円の
モノがあるという感じ...続きを読む

Aベストアンサー

>データベースに計算結果を登録するには変数が必要と考えています。

いまいち何を言いたいかわかりません。

>1.日付、2.商品名、3.個数、4.重量or容量、5.価格です。

を入れたいのにINSERT文が

>INSERT INTO shipping (hiduke,syouhin,kosu,jyuryo,tanka)

になっているのは何か意味があるのでしょうか?
tankaに価格をいれるとは思えませんが・・・

仮にjyuryoが0より大きいときはjyuryo*tanka、
kosuが0より大きいときはkosu*tanka
をkakakuの定義とすれば・・・

$kakaku=0;
if($jyuryo>0) $kakaku=$jyuryo*$tanka;
if($kosu>0) $kakaku=$kosu*$tanka;
$data=array($hiduke,$syouhin,$kosu,$jyuryo,$kakaku);
$sql='INSERT INTO shipping (hiduke,syouhin,kosu,jyuryo,tanka) VALUES(?,?,?,?,?)';
$stmt=$dbh->prepare($sql);
$stmt->execute($data);

的な処理を想定しているのでしょうか?

>データベースに計算結果を登録するには変数が必要と考えています。

いまいち何を言いたいかわかりません。

>1.日付、2.商品名、3.個数、4.重量or容量、5.価格です。

を入れたいのにINSERT文が

>INSERT INTO shipping (hiduke,syouhin,kosu,jyuryo,tanka)

になっているのは何か意味があるのでしょうか?
tankaに価格をいれるとは思えませんが・・・

仮にjyuryoが0より大きいときはjyuryo*tanka、
kosuが0より大きいときはkosu*tanka
をkakakuの定義とすれば・・・

$kakaku=0;
if($jyuryo>0) $kakaku=$jy...続きを読む

Q今NCC綜合英語学院の入学待ちの状態です。多分途中からクラスに加わると

今NCC綜合英語学院の入学待ちの状態です。多分途中からクラスに加わると思うんですけど、日本人の方の授業はどのように進行されるのでしょうか? 授業前後は生徒さん同士で話したりするのでしょうか?

少し不安なのでよろしくお願いします。

Aベストアンサー

私も入学待ちのとき、ドキドキしてましたよ。

なにしろ
「真剣に学習する人のみ募集」
の、あのNCCに入るわけですからね。

インパクトありますよね。怖いし。

でも、実際は全然心配いりません。
先生がちゃんとケアーしてくれますよ。

最初、カウンターで名前を言うと、担任の先生が教室に案内してくれました。

最初から色々言っても分かりにくいので、まず受けてみましょう!
という感じでしたっけ。

授業の中では、初参加ということをすごく意識してくれて、
ついていけるように配慮してもらって、
あと、緊張しないように、すごく気配りがあって、
恐縮したことを覚えています。

先生に一番近いところに座らせてもらって、
テキストのページはここですよ、
という感じで、何から何まで親切にしてもらいました。

終わったあとにも色々説明してもらいました。

後でわからなくなったところも、また、電話で教えてもらいました。
etc.

という具合です。


NCCは、本当に厳しい学校です。

「厳格」というのがいい言葉かも。

でも、それは、勉強に関する、つまり、上達するための厳格さであって、
人間的には優しい人達です。

実は私も他の書き込みを見たのです。

もちろん、最後は自分次第です。
他力本願では絶対に無理なことは十分承知の上です。

しかし、NCCは変なスパルタって感じではない、と書かれてあって安心しました。

「何でこんなものがわからないんだ!」
なんていう、スパルタ的言葉は全くありません。

これも、どこかに書かれてありましたが、
生徒に対して敬語で丁寧に話して、リスペクトされている感じがあります。
先生は紳士的です。

NCCに入るときは、
どんなことがあってもやり遂げる!「必死」の覚悟でしたが、
(真剣に通訳兼翻訳を目指しています)
私には
高校時代のトラウマがあって、
やはり、授業の雰囲気が凄く気になっていたのです。

でも、英語は真剣にやらなければ絶対に!伸びない。

だから勉強は厳しいのです。

NCCは生徒を本気で伸ばそうとするので、その分、大変です。
だから、それを先生が人間的に温かくケアーするというのが、正しい解釈です。

ホットラインで学院首脳の女性の先生にいきなり自己紹介(挨拶)しましょう。
こんないい人は絶対にいません。
辛いときにいつも凄く助けてもらっています。涙が出ました。
最高です。

実は私も入学待ちのときから、ホットラインで質問して、
初回の授業の心構えも聞きました。
だから、今、偉そうに言えるのですね。

本当に不安なら、私みたいにコンタクトとるのもいいですよ。

あと、ある程度できる人はクラスが途中からというか、自分のレベルに一番合ったクラスに入ります。

授業の前は、授業開始直後に、宿題チェックがあるので、みんな必死で、雑談する余裕等ありません。
ピーンと張り詰めた空気の中で、小声でみんなボソボソ、英語を覚えなおしている、
ほら、学生時代も試験の5分前ってそんな感じでしたよね。

授業が終わってからは、
生徒同士が仲良くする人、つまり、英語以外でも食事に行ったりして付き合う人と、
そうでない人は、半々ですね。

夜の授業は本当に終電ギリギリなので、
あまり生徒同士でしゃべる暇ありません。

私は仲のいい生徒が2名いるので、いつも、駅まで一緒に歩き、情報交換しています。

ただ、
楽しい系の英会話スクールではないので、
授業以外で、生徒が、まるで近所付き合いのように半ば義務的にグループ行動をする
というのは全然ありません。

お局がいるとか、
嫌われると村八になるとか、
もちろんありません。

ひたすら勉強だけに来ている人も多いので、
そういう人達は、社交辞令的挨拶を済ますと、さっさと帰ります。
結構、多いです。
でも、それはそれでいいのです。

前のクラスで、関西系で明るい人は、
授業後に、ここぞストレス解消と言わんばかりの、はしゃぎようで、
みんなの人気者でした。

学生同士、就職活動の話や、社会人同士の異業種交流のようなものも普通に見られます。

私は、中間くらいですね。

あまり、べたべた付き合うと、本当に義務的になってしまって嫌だし、
まったく交流がないのも寂しいし、情報交換もできないし、
で、うまく中間的なポジションをキープしています。


最後に、あまり心配しないでリラックスしましょう!

私も入学待ちのとき、ドキドキしてましたよ。

なにしろ
「真剣に学習する人のみ募集」
の、あのNCCに入るわけですからね。

インパクトありますよね。怖いし。

でも、実際は全然心配いりません。
先生がちゃんとケアーしてくれますよ。

最初、カウンターで名前を言うと、担任の先生が教室に案内してくれました。

最初から色々言っても分かりにくいので、まず受けてみましょう!
という感じでしたっけ。

授業の中では、初参加ということをすごく意識してくれて、
ついていけるように配慮してもらって、
あと、...続きを読む

QPHP データベース データ更新

データベース更新について

お世話になっております。
データベースの更新ができず困っております。
ご教授いただければと思います。
PHPは初心者です。
コードは下記の用になっております。

form.php
<?php



$member = $_GET[name];



$query_member = sprintf("SELECT * FROM `member` WHERE ID='$member'");
$result_member = mysql_query($query_member, $link);
if ($result_member) {
$row = mysql_fetch_array($result_member);
if ($row) {
$m_id = $row['id'];
$m_first_name = $row['first_name'];
$m_last_name = $row['last_name'];
$m_first_kana = $row['first_kana'];
$m_last_kana = $row['last_kana'];
$m_b_year = $row['b_year'];
$m_b_month = $row['b_month'];
$m_b_day = $row['b_day'];
}
}
?>
<html>
<body>
<form action="complete.php?<?php print $m_id; ?>" method="POST">
<input type="text" name="<?php print $m_first_name; ?>" value="<?php print $m_first_name; ?>" />
<input type="text" name="<?php print $m_last_name; ?>" value="<?php print $m_last_name; ?>" />
<input type="text" name="<?php print $m_first_kana; ?>" value="<?php print $m_first_kana; ?>" />
<input type="text" name="<?php print $m_last_kana; ?>" value="<?php print $m_last_kana; ?>" />

<input type="text" name="<?php print $m_b_year; ?>" value="<?php print $m_b_year; ?>"> 年
<input type="text" name="<?php print $m_b_month; ?>" value="<?php print $m_b_month; ?>"> 月
<input type="text" name="<?php print $m_b_day; ?>" value="<?php print $m_b_day; ?>"> 日

<input type="submit" name="regist" value="編集">

</form>

complete.php


<?php



$m_id = $_GET[name];



$first_name = mysql_real_escape_string($_POST['m_first_name']);
$last_name = mysql_real_escape_string($_POST['m_last_name']);
$first_kana = mysql_real_escape_string($_POST['m_first_kana']);
$last_kana = mysql_real_escape_string($_POST['m_last_kana']);
$year = mysql_real_escape_string($_POST['m_b_year']);
$month = mysql_real_escape_string($_POST['m_b_month']);
$day = mysql_real_escape_string($_POST['m_b_day']);

$query_edit = sprintf("UPDATA `member` SET `first_name`='$first_name', `last_name`='$last_name' WHERE id='$m_id'");
$result_edit = mysql_query($query_edit, $link) or die(mysql_error());
if ($result_edit) {
$msg = '編集しました。';
} else {
$msg = '編集に失敗しました。';
}

?>
<html>
<body>
<?php print $msg; ?>
</body>
</html>

となっております。

$member = $_GET[name];はhttp://oshiete1.goo.ne.jp/qa5783266.htmlにてご教授いただいたので使用しています。

$result_edit = mysql_query($query_edit, $link) or die(mysql_error());でエラーが出力されたところデータの受け渡しができていませんでした。

どこを直せば良いのかわからず困っております。

お分かりの方がいらっしゃいましたらご教授お願いいたします。

データベース更新について

お世話になっております。
データベースの更新ができず困っております。
ご教授いただければと思います。
PHPは初心者です。
コードは下記の用になっております。

form.php
<?php



$member = $_GET[name];



$query_member = sprintf("SELECT * FROM `member` WHERE ID='$member'");
$result_member = mysql_query($query_member, $link);
if ($result_member) {
$row = mysql_fetch_array($result_member);
if ($row) {
$m_id = $row['...続きを読む

Aベストアンサー

UPDATA→UPDATE
スペルミスですね。

それとよく見ると↓もおかしい。
<form action="complete.php?<?php print $m_id; ?>" method="POST">

<form action="complete.php" method="POST">
<input type="hidden" name="name" value="<?php print $m_id; ?>" />
とした方がいいですね。

そのかわりに、complete.phpでは
$m_id = $_GET[name];

$m_id = $_POST['name'];
と変えなくてはならない。

$_GET['name']を活かしたければ、以下のような感じに変更で。
<form action="complete.php?name=<?php print $m_id; ?>" method="POST">

あとは、
"SELECT * FROM `member` WHERE ID='$member'"
ID='$member'→`id`='$member'

"UPDATA `member` SET `first_name`='$first_name', `last_name`='$last_name' WHERE id='$m_id'"
id='$m_id'→`id`='$m_id'

大文字小文字の統一と、オブジェクト名をすべて``で括るルールを採用するなら、idにも``を、ってところで、別に動作がおかしい原因にはなりませんが、見た目というかプログラミング意識レベルのツッコミですが。

UPDATA→UPDATE
スペルミスですね。

それとよく見ると↓もおかしい。
<form action="complete.php?<?php print $m_id; ?>" method="POST">

<form action="complete.php" method="POST">
<input type="hidden" name="name" value="<?php print $m_id; ?>" />
とした方がいいですね。

そのかわりに、complete.phpでは
$m_id = $_GET[name];

$m_id = $_POST['name'];
と変えなくてはならない。

$_GET['name']を活かしたければ、以下のような感じに変更で。
<form action="complete.php?name=<?php print $m_id; ?...続きを読む


人気Q&Aランキング

おすすめ情報