問題タブ [mysql-num-rows]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 奇妙なデータベースの問題!PHP MySQL Codeigniter
テーブルの行数を返す単純なクエリで奇妙な問題が発生しています。
これは常に正常に機能していました。
でも!昨日、テーブルの既存の行の列を更新する新しい関数をWebサイトに追加しました。この関数はadd_file()と呼ばれます
今私のウェブサイトはそれがどうあるべきかについて間違った価値を与えています:
現在、phpMyadminとSQLyogから見た「procedure」という76行が私のテーブルにあります。
しかし私のウェブサイトでは70があると言っています。
機械は嘘をつかないので、これはおそらく私のしていることです
add_file()と呼ばれる私の関数が原因であるという予感があります。
この関数が行うことは、ユーザーがそのレコードに対応するファイルをアップロードした場合に、プロシージャテーブルの「edocument」列を更新することです。システムがそのファイルの名前を認識し、そのURLを作成できるようにします。
このスクリーンショットを見ると、72〜76の「edocument」列に値があることがわかります。
それで、更新機能は私のデータベースを壊していますか?
ありがとう
php - phpとmysqlの奇妙な問題。すべてが正常であると思われるときに行が選択されていませんか?
私はphpとmysqlでかなり奇妙な問題を抱えています。私のphpスクリプトで次のことをしています:
これを行うとき、これは出力です:
問題は、imが0行を取得することを想定していないことです。奇妙なことに、エラーは報告されません。ユーザーにすべてのアクセス許可を付与し、rootユーザーとしてデータベースに接続しようとしましたが、同じ動作をしました。
mysqlコマンドラインで直接クエリを実行すると、次のようになります。
xamppサーバーと、自分で構成したサーバーを使用してみましたが、同じ動作が得られました。考えたすべてのログをチェックし、すべてのクエリをログに記録するようにmysqlを構成しましたが、異常は発生していないようです。
mysqlログには次の情報が表示されます。
apacheログには何も表示されず、サイト固有のログも表示されません。どうか、これを解読しようとする手がかりは非常に高く評価されます!!! ありがとう!!!=)
編集:
問題を見つけました。それはaefxxの答えと関係があります。
プログラムimwritingは移行ツールです。あるデータベースから情報を抽出して処理し、別のデータベースに挿入します。そのためには、2つのデータベースに接続する必要があります。PHPのドキュメントで提案されているように、シングルトンパターンを使用して2つのクラスを介して接続します。接続ファイルはgithubリポジトリで確認できます。
dbに接続するには、次のようにこのクラスを呼び出します。
何が起こっているのかというと、何らかの理由で、2つの別々の接続を作成せず、代わりに1つの接続だけを作成し、空の2番目のデータベースである新しいデータベースを使用します。mysqlログを見たときに手がかりを得ました:
101InitDBが2回表示されます。1つはのためにsaw
、もう1つはsawprueba
。今、私はそれが2つの別々の接続を作成しない理由を理解していません...何か提案はありますか?
ご助力ありがとうございます!!!=)
編集:
私はまだ自己回答できませんが、これが私の問題の解決策です。とにかくこれを読んで(そしていくつかの答えを)時間を割いてくれた人々に感謝します!
php mysql_connect()関数のドキュメントに見られるように、デフォルトnew_link
でと呼ばれるオプションのパラメーターを受け取りfalse
ます。
new_link
同じ引数を使用してmysql_connect()を2回呼び出すと、新しいリンクは確立されませんが、代わりに、すでに開いているリンクのリンク識別子が返されます。new_linkパラメーターはこの動作を変更し、同じパラメーターでmysql_connect()が以前に呼び出された場合でも、mysql_connect()が常に新しいリンクを開くようにします。SQLセーフモードでは、このパラメータは無視されます。
したがって、両方の接続クラスでmysql_connect()の呼び出しに追加の最後のパラメーターとしてtrueを追加する必要がありました。解決済み=)
php - INNER JOINクエリでのPHP mysql_num_rows()の使用
そのため、if-else ステートメントで条件を設定するときに、$rowCount 値 0 をキャッチする方法をいくつか試しましたが、うまくいかないようです。
私のクエリは、null 結合を排除する構文を使用する必要がありますか、または $rowCount = 0 の場合をどのように識別しますか?
php - Select-Option num 値と SQL num_row
私は大きなジレンマを抱えています。MySQL からフォームにデータを生成しているので、問題は、SQL によって生成された最初の行が 0 であるのに対し、フォームの選択オプションが最初の値を 1 として解釈していることです。問題はありません。このクエリ内から一部のデータを破棄したくない場合。しかし、ここにコードがあります:
生成された HTML コードは次のとおりです。
option タグの value と data-num att を比較すると、WHY 単位で異なることがわかります。option の最初の値はページ ランディングで選択されますが、都市の入力はクエリからの次の値を示します。どうすればこれを回避できますか? よろしくお願いします。
php - mysql_num_rows()php-効率的ですか?
SELECT
PHPページにいくつかのステートメントがあり、Dreamweaverを使用してそれらを生成しました。
生成されたコードを調べた後、ほとんどの状況で切り取ることができる綿毛がたくさんあるように見えましたmysql_num_rows()
。各ステートメントの行が例です。
ですから、これが実際にリソースを節約するかどうかを誰かに教えてもらえるのではないかと思います。クエリが実行されていることを考えると、これに実際のオーバーヘッドはありますか?
更新:マイクロタイムに関するChriszumaの提案に従った後、私の結果は次のとおりです。
オーバーヘッドはそれほど多くないようです
php - mysql_queryが何かを返したかどうかを確認する方法
重複の可能性:
mysql_fetch_array()は、パラメーター1がリソースであり、ブール値がselectで指定されていることを想定しています。
だから私は次のクエリが結果を返すかどうかを確認しようとしています
ただし、上記は次のエラーを返し、if($numResults)
とにかく毎回実行されます。つまり、else
ブロックを実行することはできません。
これがエラーです
助けていただければ幸いです。
php - PHP mysql_num_rows() エラーを返す
PHPログインスクリプトがあります。これは、その人が新しいユーザーを作成できる部分です。私の問題は、ユーザーが存在するかどうかを確認し、ユーザー名がテーブルに存在しない場合は、新しいユーザーを作成することです。ただし、ユーザーが存在する場合は、セッション変数でエラーを返すようにします。ここに私が今持っているコードがあります。これには私の DB 接続は含まれていませんが、動作することはわかっています。error_lognum_rows()
ファイルにエラーとして書き込まれています。コードは次のとおりです。
それが私に与えているエラーは
php - PHPでmysql_num_rowsかどうかを確認する適切な方法
行が返されない場合、mysql_num_rowsはfalseを返すため、次のようにするのが最善でしょうか。
または私がすべきこと:
php - 行数カウント時のMysqlエラー
テーブル内の行を数えようとすると問題が発生します。
変数 $username_me は、セッションのユーザー名と同じです。if または else ステートメントには含まれていません。
私が得るエラーは次のとおりです。
警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定し、21 行目の /home/ * /public_html/ ** /sidebar.php で指定されたブール値です。
行 21 は、貼り付けたコード ビットの最後の行です。
php - Num 行が間違った数を返す
行が0行ある行を数えようとしていますが、SQLクエリに一致する行がない場合は、とにかく1行を返します。誰かが私が間違っていることを知っていますか?