テーブルのデータを抽出したいのですけど
テーブルに
idと対応するpassワードがあったとすると

入力フォームみたいのを作って
認証したいidとpassワードを入力してもらって
それをテーブルにあるのか確認したい場合どうしたらいいでしょうか?

入力フォームはこうなっています

<html>
<head>
<title>ユーザ認証</title>
</head>
<body>
ユーザ認証<br>
<form action="ninsyou.php" method="post" name="form1">
ユーザ名:
<input name="id" type="text" id="fUserName">
<br>
パスワード:
<input name="pass" type="password" id="fPassWd">
<input type="submit" name="Submit" value="認証">
<input type="reset" name="Submit2" value="クリア">
</form>
</body>
</html>

わかりにくい質問ですみません。

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

A 回答 (1件)

遷移先の


ninsyou.php
にて
idとpassの値を取得

<?php

$id = $_POST['id'];
$pass = $_POST['pass'];

?>

その値を利用してMySQLへSELECT問い合わせ

SELECT * FROM TABLE名 WHERE id = '$id' AND pass = '$pass'

これにてテーブルに情報があるかどうか確認出来ます。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す

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

Q[ BETWEEN ] vs [ >= AND <= ]

どちらの方が処理が速いのでしょうか?

WHERE column BETWEEN '2000-01-01' AND '2007-01-01'
WHERE column >= '2000-01-01' AND column <= '2007-01-01'

ご教授、宜しくお願い致します。

Aベストアンサー

EXPLAIN で調べればわかりますが
BETWEENはrangeでインデックスがききますが
不等号ですとインデックスがききません。
ですので、インデックスさえ適切にせっていされていれば理論的には
前者の方がはやくなるはずです

QUsage: \. | source とはどういうことですか。

C:直下に mysql フォルダ を置き、そのmysql フォルダの直下に test.sql を置きました。
test.sql の中味は、
create table shohin(・・・・・・・・);
insert into shohin(a,b,) values(pqr,xyz);
・・・・・・
と書いています。

この準備により、databese[zaiko] の [shohin]テーブルに、一括してデータを書き込みたいと思って、
mysql> use zaiko
Database changed
mysql> \.test.sql とすると、

Error:
Usage: \.<filename> | source<filename>
というエラーが出ます。

mysql> mysql zaiko <\.test.sql
としても同じエラーです。

Usage: \.<filename> | source<filename> とは、どういう意味のことを言っているのでしょうか?
うまくデータが書き込むためには、どこを修正すればよいのでしょうか?

C:直下に mysql フォルダ を置き、そのmysql フォルダの直下に test.sql を置きました。
test.sql の中味は、
create table shohin(・・・・・・・・);
insert into shohin(a,b,) values(pqr,xyz);
・・・・・・
と書いています。

この準備により、databese[zaiko] の [shohin]テーブルに、一括してデータを書き込みたいと思って、
mysql> use zaiko
Database changed
mysql> \.test.sql とすると、

Error:
Usage: \.<filename> | source<filename>
というエラーが出ます。

mysql>...続きを読む

Aベストアンサー

DOSプロンプト
c:\mysql>

から

mysql zaiko <.\test.sql

ではないかと。


通常、.はカレントディレクトリ,\はディレクトリの区切りを表すので、「.\」としたら「カレントディレクトリの」という意味です。SQLファイルのパスを指定しているだけかな?

参考URL:http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html

QTYPE=InnoDB

InnoDBなどのテーブルの型がありますが、自分が使っているテーブルから型を知るにはどうしたらいいですか?
ターミナル
mysql>
の状態で回答をお待ちしています。

Aベストアンサー

SHOW TABLE STATUS;
です。

参考URL:http://dev.mysql.com/doc/mysql/ja/show-status.html

QTYPE=Inoodbが指定するとワーニングが出てしまいます。

MYSQLで詰まっています、判りましたらご教授お願いします。

テーブル作成時に設定TYPEでInnoDBを指定するとワーニング
が出てしまいます。これを解消する方法がわかれば教えて下さい。

mysql> create table or_test_mst (
-> test_id varchar(10) not null,
-> test_name varchar(10),
-> PRIMARY KEY (test_id))
-> TYPE = InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)

使用しているバージョンは5.0.7-betaです。

ソースからコンフィギャをしてインストールしました。
コンフィギャは以下のようにして実行しました。

CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \
-felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql \
--with-mysqld-user=mysql \
--with-charset=ujis \
--with-extra-charsets=all \
--with-embedded-server \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static

本当は--with-innodbオプションを指定しようと思ったのですが、バージョン4
からデフォルトでInnoDBは有効になっているとの事で入れませんでした。

また、確認のため--with-innodbオプションを設定してコンフィギャしてみた
のですがこの場合でも同じようにテーブル作成時にTYPEでInnoDBを指定
してみるとWarningが出てしまいました。

MYSQLで詰まっています、判りましたらご教授お願いします。

テーブル作成時に設定TYPEでInnoDBを指定するとワーニング
が出てしまいます。これを解消する方法がわかれば教えて下さい。

mysql> create table or_test_mst (
-> test_id varchar(10) not null,
-> test_name varchar(10),
-> PRIMARY KEY (test_id))
-> TYPE = InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)

使用しているバージョンは5.0.7-betaです。

ソースからコンフィギャを...続きを読む

Aベストアンサー

失礼、Waningでしたね。
設定とSQLのどちらに問題があるかは
メッセージの内容がわからないとどうしようもないので、

5.0なら
SHOW WANINGS
が使えると思いますので、試してみてください。

ちなみに、4.0ではWARNING自体が存在しないので、
私の環境では同じSQLでも正常終了しました。

参考URL:http://dev.mysql.com/doc/mysql/ja/show-warnings.html

Q助けて>< 3つのテーブルで簡単な集計

下記のような3種類のテーブルがあります。
これを集計して、指定したユーザーの指定月のアクセス日時と売上げ金額を表にしたいと思っています。

こんな感じに。

+--+--------+----------+-------+-----+
| id | username| date   | access | sales |
+--+--------+----------+-------+-----+
| 1 | admin | 2010-11-13 |   2 | 5000 |
| 1 | admin | 2010-11-14 |   2 | 5000 |
| 1 | admin | 2010-11-15 |  1 | 20000 |
+--+--------+----------+-------+-----+


SELECT u.id AS id, u.username, DATE(a.created_at) AS date, COUNT(*) AS access, SUM(s.amount) AS sales
FROM sf_guard_user u INNER JOIN sales s ON u.username = s.user_id LEFT JOIN access_log a ON u.username = a.user_id
WHERE (u.username = 'admin' AND a.created_at > '2010-11-01 00:00:00' AND a.created_at < '2010-11-30 23:59:59') GROUP BY date ORDER BY a.created_at;
とやってみたのですがダメでした;;


■ユーザー情報テーブル
mysql> select id,username from user;
+--+---------+
| id | username |
+--+---------+
| 1 | admin   |
+--+---------+

■アクセスログテーブル
mysql> select * from access_log;
+--+-------+--------+------------------+
| id | user_id | ip     | created_at      |
+--+-------+--------+------------------+
| 1 | admin  | 127.0.0.1 | 2010-11-13 21:56:54 |
| 2 | admin  | 127.0.0.1 | 2010-11-13 21:56:54 |
| 3 | admin  | 127.0.0.1 | 2010-11-14 21:56:54 |
| 4 | admin  | 127.0.0.1 | 2010-11-14 21:56:54 |
| 5 | admin  | 127.0.0.1 | 2010-11-15 21:56:54 |
+--+-------+--------+------------------+

■売上げ金額テーブル
mysql> select * from sales;
+--+-------+------+------------------+
| id | user_id | amount| created_at      |
+--+-------+------+------------------+
| 1 | admin  |  5000 | 2010-11-13 21:56:54 |
| 2 | admin  |  5000 | 2010-11-14 21:56:54 |
| 3 | admin  |  5000 | 2010-11-15 21:56:54 |
| 4 | admin  |  5000 | 2010-11-15 21:56:54 |
+--+-------+------+------------------+

下記のような3種類のテーブルがあります。
これを集計して、指定したユーザーの指定月のアクセス日時と売上げ金額を表にしたいと思っています。

こんな感じに。

+--+--------+----------+-------+-----+
| id | username| date   | access | sales |
+--+--------+----------+-------+-----+
| 1 | admin | 2010-11-13 |   2 | 5000 |
| 1 | admin | 2010-11-14 |   2 | 5000 |
| 1 | admin | 2010-11-15 |  1 | 20000 |
+--+--------+----------+-------+-----+


SELECT...続きを読む

Aベストアンサー

SELECT
s.user_id AS id
,username
,a.ip
,a.`date`
,access
,sales
FROM (
SELECT
user_id
,ip
,COUNT(ip) AS access
,DATE(created_at) AS `date`
FROM access_log
WHERE YEAR(created_at)=2010 AND MONTH(created_at)=11
GROUP BY user_id, `date`, ip
) AS a
LEFT JOIN (
SELECT
user_id
,SUM(amount) AS sales
,DATE(created_at) AS `date`
FROM sales
WHERE YEAR(created_at)=2010 AND MONTH(created_at)=11
GROUP BY user_id, `date`
) AS s
ON a.user_id=s.user_id AND a.`date`=s.`date`
JOIN user AS u ON a.user_id=u.id

view 作ってしまいたい気分だ。
何か引っかかるけどまぁいい。アクセスとセールスっておそらく一連の流れだから、まとめてしまってもいんじゃない。

SELECT
s.user_id AS id
,username
,a.ip
,a.`date`
,access
,sales
FROM (
SELECT
user_id
,ip
,COUNT(ip) AS access
,DATE(created_at) AS `date`
FROM access_log
WHERE YEAR(created_at)=2010 AND MONTH(created_at)=11
GROUP BY user_id, `date`, ip
) AS a
LEFT JOIN (
SELECT
user_id
,SUM(amount) AS sales
,DATE(created_at) AS `date`
FROM sales
WHERE YEAR(created_at)=2010 AND MONTH(created_at)=11
GROUP BY user_id, `date`
) AS s
ON ...続きを読む


人気Q&Aランキング

おすすめ情報