1

簡単な (テスト) プロシージャを作成しましたが、1 行しか返されません。なぜですか?

SELECT *
FROM service

プロシージャは正常に実行されます。表示される結果には、すべてのテーブル レコードではなく最初の行のみが含まれます。

4

3 に答える 3

3

まあ、私は偶然にそれを解決します:)誰かがいつか必要になることを願っています:

プロシージャを作成した後、phpMyAdminの[ルーチン]タブの[実行]アイコンが機能せず、テーブルから1つのレコードのみが返されます。最後の3.5.5バージョンをダウンロードしましたが、問題は同じです。

実際には、プロシージャ自体はうまく機能しています。SQLタブを使用して、手書きで呼び出すだけです。

call myProcedure

それはすべての人々です:)

于 2013-01-22T19:14:49.473 に答える
0

毎回最後の行を取得した場合。次に、あなたのコードはそのようなものかもしれません、

$result = mysql_query("SELECT * FROM service");
while($row = mysql_fetch_array($result))
{
  $user=$row['Username'];  //assume you have a column named Username
}

echo $user . "<br>";

しかし、以下のようにすれば、すべてのデータを取得できます。

$result = mysql_query("SELECT * FROM service");
while($row = mysql_fetch_array($result))
{
  $user=$row['Username'];  //assume you have a column named Username
  echo $user . "<br>";
}
于 2013-01-22T08:04:47.803 に答える
0

テスト手順がcommit.

MySQL ステートメントの実行方法に応じて、暗黙的なcommit. Phpmyadmin はこれを暗黙的に行いcommitます。しかし、PHP のようなプログラミング言語など、他の方法でテスト手順を実行する場合は、autocommit設定していない可能性があります。次に、テスト手順はcommitステートメント自体を発行して、テストの効果を世界の残りの部分に表示する必要があります…そしてPhpmyadmin.

于 2013-01-22T07:49:02.357 に答える