お世話になります。
日頃デザインを担当していてPHPは不慣れなのですが、下記PHPの2か所でエラーが出ていまして
その記述について正しい書き方をご指導くださいませ。
<?php
require('define.php');
//$midxx = $HTTP_COOKIE_VARS["bluenote"];
$midxx = $_COOKIE["bluenote"];
$msg = "";
// DB接続
if (!($cn = mysqli_connect(DBHOST,DBUSER,DBPASSWORD,DBNAME)
)) {
$msg = "DB接続不可"; exit; // DB接続不可
}
//認証処理
$gl_tblname = CTRL_TBL;
$sql = "select * from $gl_tblname where nmstr = '$midxx' ";
$rs = mysqli_query($cn,$sql) or die("Could not select log_io, admin =[" . $sql . "]\n");
if (mysqli_num_rows($rs) < 1) {
mysqli_close($cn); //DB切断
header("Location: err.php"); /* Redirect browser */
exit;
}
// ▼ここの記述が不明?
$log = $rs['log'];
if ($log != 1) {
mysqli_close($cn); //DB切断
header("Location: err2.php"); /* Redirect browser */
exit;
}
$gl_tblname = TENPO_TBL;
$sql = "select * from $gl_tblname ORDER BY temp_flg ASC, s_cd ASC, r_no DESC ";
// ▼ここの記述が不明?
$rs = mysqli_query($cn,$sql);
$num_rows = mysqli_num_rows($rs);
?>
お忙しいところ恐縮ですがご教示の程、
よろしくお願いいたします。<(_ _)>
No.2ベストアンサー
- 回答日時:
err2.php が表示されて先に進めないとのことですが、CTRL_TBLに定義されたテーブルの中で、「nmstrの値が、$midxxの内容に一致する行」の「log」の値が1ではない場合にerr2.phpが表示される仕組みになっています。
CTRL_TBLの中身をチェックしてみるといいかなと思います。
もう1点、一覧が取れない件ですが、
$num_rows = mysqli_num_rows($rs);
は「該当した行数」を取得する書き方です。
プログラムの最後に、
echo $num_rows;
を追記すると、行数が数字で表示されます。
もし一覧が欲しいのであれば、最後に、
while ($row = $rs->fetch_array(MYSQLI_ASSOC))
{
foreach($row as $key => $val){
echo $key . ':' . $val;
}
echo "\n";
}
と記述するといいかなと思います。
ご教示ありがとうございました。
ご指摘通り、認証に関するlog の値にミスがありました。
また、値一覧もうまく取得できました!!
皆様のご指導に感謝申し上げます。
No.1
- 回答日時:
$log = $rs['log'];
のところを
$tmp = array();
while ($row = $rs->fetch_array(MYSQLI_ASSOC))
{
$tmp[] = $row['log'];
}
$log = isset($tmp[0]) ? $tmp[0] : '';
とかにすれば、おそらく希望したことができて、エラーにもならないです。
ご教示ありがとうございます。
エラーは出なかったのですが、err2.php が表示されて先に進めませんでした。
もともとこの個所は以下のようなPostgresSQLの記述だったようです。
$log = pg_fetch_result ($rs, 0, 'log');
if ($log != 1) {
pg_close($cn); //DB切断
header("Location: err2.php"); /* Redirect browser */
exit;
}
-------
<ご教により示差し替えさせていただいた内容>
$tmp = array();
while ($row = $rs->fetch_array(MYSQLI_ASSOC))
{
$tmp[] = $row['log'];
}
$log = isset($tmp[0]) ? $tmp[0] : '';
if ($log != 1) {
mysqli_close($cn); //DB切断
header("Location: err2.php"); /* Redirect browser */
exit;
}
また、 上記 if のところをコメントアウトして その下の以下を走らせてみたのですが値が取れませんでした。
$gl_tblname = TENPO_TBL;
$sql = "select * from $gl_tblname ORDER BY temp_flg ASC, s_cd ASC, r_no DESC ";
$rs = mysqli_query($cn,$sql);
$num_rows = mysqli_num_rows($rs);
DBから一覧が取れていないということなのでしょうか?
桜咲く春の良き季節に、ご多忙のところ大変恐縮でございますが
引き続きご指導いただければ幸いに存じます。。。 <(_ _)>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHPでMysqlにデータがあるかどうか判別したい 1 2023/03/02 11:48
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAについて
-
PHPで[]の使い方について
-
アラートでyes noを作りたいです。
-
PHPのプルダウンメニューにDBの...
-
checkboxクリック時、SQLを実行...
-
DBで検索結果に該当するデータ...
-
dbに登録したデータをphpのプル...
-
チェックボックスでチェックし...
-
php mysqlで作ったデータをgoog...
-
実行時エラー3131 FROM 句の構...
-
SQL文が実行できません
-
VBAをつかってクエリの情報を抽...
-
PHP&MySQLでの文字列+数列の一...
-
Q&Aサイトを作成していてURLの...
-
VB.NET エラーになる箇...
-
Resource id #3 をフィールドの...
-
SQL文の実行に失敗しました???
-
php データ削除
-
MySQLでデータベースにデータin...
-
phpのエラーについてです
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
php テーブルが作成できない
-
dbに登録したデータをphpのプル...
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
DBで検索結果に該当するデータ...
-
文字化けが解決できません。お...
-
SELECT結果から動的にコンボボ...
-
checkboxクリック時、SQLを実行...
-
PHPでMySQLデータを呼び出し、w...
-
while文の中にwhile文を書きた...
-
sortable ギブアップです…助け...
-
重複レコードをグループ化した...
-
PHP と MySQL でテーブルの行数...
-
PHPでMySQLのデータを2次元配...
-
mysql>PHPにデータ表示、10件ご...
-
PHPについてなのですが未定義の...
-
VBA初心者です。
-
ラジオボタンをループすること...
-
PHP+MySQLでの配列のinsert文に...
おすすめ情報