問題タブ [mysql++]

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.

0 投票する
1 に答える
89 参照

php - 文字エンコーディングはどこで変更されますか?

「João」のようなアクセント付きのエントリを持つテーブルを持つ MySQL データベースがあります。

エントリは C/C++ コードの MySQL++ クエリで選択されますが、特にこのエントリは "Jo�o" ( printffprintfまたはstd::cout <<) として出力されます。

私が理解したいのは、データ フローのどこでこの文字が正しくエンコードされていないかということです。

もう少しコンテキスト: フロントエンドは HTML/PHP であり、PDO を使用して MySQL データベースにデータを挿入します。

HTML の PDO クエリで文字が正しく表示されます。また、次のように正しく表示されます。

そのため、表にうまく書かれていると思います。この問題は、MySQL++ クエリまたは C/C++ 出力コマンドのいずれかにあるようです。

関係あるかわかりませんが、MySQL のテーブルエンコーディングはutf8_general_ciで、シェルロケールはLANG=en_US.UTF-8.

0 投票する
1 に答える
57 参照

mysql++ - MySql++ (C++) 特殊な条件下でのセグメンテーション違反

次のコードを確認してください。

"1" が #defined で、Connection オブジェクトがスタックにある場合、コードの両方のチャンクが実行されます (conn.connect と m_pconn->connect)

「0」が #defined で、2 番目の Connection オブジェクトが動的に割り当てられている場合、m_pconn->connect でセグメンテーション違反が発生します。

何か案は?

0 投票する
0 に答える
439 参照

c++ - GDB でのデバッグで「mysql への接続が失われました」というエラーがスローされる

ランダムにクラッシュするため(数日後、数時間後..)、gdbでプログラムをデバッグしようとしました。しかし、デバッグしようとすると、プログラムは次のエラーをスローします:「MySQL サーバーへの接続が失われました」および「MySQL サーバーが離れました」

gdb なしでプログラムを実行している場合、これらのエラーは発生しませんが、gdb の何が問題なのですか?

my.cnf で max_allowed_pa​​cket を 256M に増やそうとしましたが、うまくいきませんでした..

0 投票する
1 に答える
464 参照

c++ - Borland コンパイラ用の C++ テンプレート コードを書き直す方法

Borland の 32 ビット コンパイラを使用して MySql++ をコンパイルしようとしています。このコンパイラは、一部のテンプレート構文に問題があることがよく知られています。コンパイラも、clang コンパイラに置き換えられているため、ほとんど廃止されています。

ただし、次のコードをコンパイル可能なバージョンに修正できれば、時間を節約できます。

コンパイラ エラーは次の行で発生します。

コンパイラ エラーは次のとおりです。

[bcc32 エラー] mystring.h(726): E2506 'String::conv<Type>(Type) const' の明示的な特殊化があいまいです: テンプレート引数を指定する必要があります
完全なパーサー コンテキスト
transaction.cpp(32): #include lib\query .h
query.h(37): #include lib\result.h
result.h(40): #include lib\row.h
row.h(33): #include lib\mystring.h
mystring.h(46) : 名前空間 mysqlpp

Stringはカスタム文字列クラスであり、関数はクラスconv()内のインライン テンプレート関数です。String

さまざまな変更を試みましたが、成功しませんでした。

0 投票する
0 に答える
46 参照

c++ - mysql ++でSQLの「in」句を使用する方法

いくつかのデータがあり、mysql db の in 句を使用して一度に結果を取得したいと考えています。たとえば、97、87、73、100 などの数字があります。SQL likeselect * from stock where num in (97,87,73,100)を使用して結果セットを取得できます。

mysql++しかし、それを使用してすべての行を取得するにはどうすればよいですか? 私のmysqlpp::StoreQueryResultプログラムの最初の行のみを返します。

どうもありがとう。

0 投票する
0 に答える
59 参照

mysql - sql_createステートメントMySQL ++でNullテンプレートを適切に使用する

ドキュメントhereおよびhereによると、Nullテンプレートを使用して、nullがゼロに等しいことを指定できるはずです...

ただし、これはコンパイルされません。次のコンパイラエラーが発生します...

エラー: マクロ "sql_create_1" は 6 つの引数を渡しましたが、5 つしか取りません sql_create_1(myResults, 1, 0, mysqlpp::Null, my_column);

次のように、テンプレートの 2 番目の引数 (デフォルトは NullIsNull) として「mysqlpp::NullIsZero」を削除すると...

すべては順調です。

0 投票する
1 に答える
372 参照

c++ - mysql_ping が SIGSEGV を引き起こす

私は c++ と mysql++ ライブラリを使用しています。各スレッドに個別の mysqlpp::Connection オブジェクトがあります。すべての mysqlpp オプションはデフォルトです (ReconnectOption は無効です)。各スレッドは、MariaDB サーバーへの永続的な接続を維持します。一連の SQL クエリの前に、次のチェックを行います。

このコードは、めったに次の SIGSEGV を生成しません。

無限ループで ping/connect 呼び出しを使用してテスト プログラムを実行することにより、このバグを再現しようとしました。実行中に、MariaDB サーバーを手動で再起動しました。しかし、再現には成功しませんでした。それを修正する方法はありますか?ありがとうございました。

OS: Ubuntu 64 ビット