function dbcount($table,$category) {
require_once'DB.php';
$username = "abc";
$password = "abc";
$host = "abc";
$database = "abc";
$db = DB::connect("mysql://$username:$password@$host/$database");
$sql = "select count(*) from $table where $id;";
$result = $db->query($sql);
while($row = $result->fetchRow()){
echo $row[0];
}
}
$kazu = 5;
if ( $kazu >= db("table","key=1") ) {
echo "真";
}
else {
echo "偽";
}
―――――――――――――――――――――――――
といった感じのプログラムなのですが、if文が正常に処理されずに困っています。
関数dbを実行すると60が帰ってくるので、本来ならば「偽」と表示され、るはずなのですが、何故か「真」が表示され、文字の左側には60が表示されています。
60は関数を使用した結果なのですが、ここに表示されているという事は、条件式の数字として認識されていないという事でしょうか?
だとすれば、どのようにすれば正常に計算されるのでしょうか?
No.3ベストアンサー
- 回答日時:
>試しに関数の一番下の行(Whileを閉じた後)に「return $kaerichi;」を挿入し、
>echoで$kaerichiを表示させてみましたが、何も出てきませんでした。
$kaerichiには(関数内で)何をセットしたのでしょう?初期値0にしておいてwhileのLoop内でインクリメントしたのでしょうか(@推測モード)。またecho $kaerichiというのは関数のreturnの直前ですか?関数から戻ったら$kaerichiはスコープ外なので使えません。
私ならば
function dbcount($table,$category) {
require_once'DB.php';
:
(略)
:
$sql = "select count(*) from $table where $id;";
$result = $db->query($sql);
retuen $result->numRows;
}
としておいて
echo dbcount("table","key=1");
で確認しますかねぇ・・
No.2
- 回答日時:
>関数dbを実行すると60が帰ってくるので、
function「dbcount」は例示されていますが「db」はどうなっていますか?dbcountにはechoはありますがreturnが見当たりません(echoもLoopの中だし・・)。returnがないfunctionはいわゆるprocedure(subroutine)扱いだと思いますけど。
http://www.php.net/manual/ja/functions.returning …
この回答への補足
スミマセン!関数dbではなく、関数dbcountの間違いでした。
試しに関数の一番下の行(Whileを閉じた後)に「return $kaerichi;」を挿入し、echoで$kaerichiを表示させてみましたが、何も出てきませんでした。
まだ勉強したてでよくわからないのですが、この関数の場合はどういう風に入れるのがベストなのでしょうか?
No.1
- 回答日時:
考えられるのは、
データベースの該当フィールドの種別が、
数値ではなく文字列になるように設定されているなどがありますが、
intvalで文字列を数値に変換してみたらどうでしょうか。
$suuchi = intval($mojiretsu);
この回答への補足
countでkey=1のものが何個あるか調べているだけなので、フィールドの種別は関係無いと思います。
dbcountの結果を数値型に型変換しようと試みたのですが、どうもいまいち上手くいきません。
$mojiretsu = db("table","key=1") ;
$suuchi = intval($mojiretsu);
としてみたのですが、$mojiretsuに60が代入されていないようで、変換の仕様がありません・・・。どうすればいいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP php エラー 2 2022/10/23 16:43
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
PHP一覧表示した項目にリンクを...
-
PHPSpreadsheetを使って関数を...
-
アップロード画像数でCSSを分け...
-
ワードプレスサイト PHP8.0.25...
-
入力フォームの空白や改行を制...
-
オススメのプログラミングスク...
-
htmlのエラーについて(デバッグ)
-
SFTPなどは使わないホームペー...
-
php 完了画面の送信メールのコ...
-
phpでPEAR::DBを使っているので...
-
index.phpって何ですか? 具体...
-
PHP8を使うと、大量のWarningが...
-
掲示板のセキュリティについて...
-
メールフォームのタイトルが文...
-
php 入力画面から確認表示画面...
-
ワードプレスプラグイン MW WP ...
-
phpのメールフォームの完了画面...
-
PHPとHTML+Xamppの掲示板で画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPSpreadsheetを使って関数を...
-
重複を防ぐ記述について教えて...
-
index.phpって何ですか? 具体...
-
awsにApacheとPHPを入れて、何...
-
phpでPEAR::DBを使っているので...
-
php 確認表示画面で値をSESSION...
-
PHPでユーザー情報を入力して簡...
-
ワードプレスサイト PHP8.0.25...
-
php 完了画面の送信メールのコ...
-
SFTPなどは使わないホームペー...
-
PHPのセッション有効期限について
-
csvファイルについて教えて下さ...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで訪問回数を表示するカウン...
-
ファイルアップロードに関して...
-
掲示板を作成しておりアップロ...
-
Q&Aサイトを作成していてURLの...
おすすめ情報