問題タブ [sqlbindparameter]

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 投票する
0 に答える
51 参照

php - 致命的なエラー: の非オブジェクトに対するメンバー関数 bindParam() の呼び出し

重複の可能性:
致命的なエラー: メンバー関数 bindParam() の呼び出し

何が問題なのか本当にわからないので、誰かがスクリプトを修正するのを手伝ってくれますか? 複数の言語を追加するまでは正常に機能していました。

これは、タイヤを選択して読み取るためのスクリプトです。

これは私のデータベースに接続するための私のクラスです:

ひどく間違っているのは次のとおりです。

最初のドロップダウンで何かを選択して送信すると、すべて問題ありません...

しかし、サイズを追加すると、次のエラーが発生します。

致命的なエラー: 62 行目の /website.com/class/banden.class.php の非オブジェクトに対するメンバー関数 bindParam() の呼び出し

62 行目 =$stmt->bindParam(":size", $size, PDO::PARAM_STR);

私の選択に依存します...時々それはこの行です:

誰か助けてくれませんか?私は自分でそれを修正しているとは思わない:(

どうもありがとうございます

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

sql - DBI:bind_paramは文字列をntextにキャストします-> nvarchar(max)とntextは互換性がありません

perlDBIのbind_paramに関する問題があります。次のSQLが機能します。

以下はそうではありませんが:

最後のクエリで発生するエラーはです[ODBC SQL Server Driver][SQL Server]The data types nvarchar(max) and ntext are incompatible in the equal to operator. (SQL-42000)

bind_paramによって呼び出されるexecute、が'string'をntextにキャストするようです。どうすればそれを回避できますか?

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

php - PDO と PHP を使用して MySQL データに対して変数をチェックする

以前のログイン フォームに入力して送信した次の変数があります。

次のように PDO を使用して MySQL データベースに接続します。

次に、変数 $login と $password を使用して、一致するユーザー名とパスワードを選択します。

最後に、次を使用して、クエリが成功したかどうかを確認します。

ただし、ログインとパスワードが正しく渡されておらず、$count の結果が 0 です。問題の 1 つは、データベースに保存されているパスワードが .md5 で暗号化されたパスワードであることです$password

しかし、エラー T-STRING エラーを受け取りました。どんな助けでも大歓迎です!

0 投票する
2 に答える
26833 参照

php - 名前付きプレースホルダーを使用した INSERT および ON DUPLICATE KEY UPDATE の PDO 準備済みステートメント

PDO INSERT および UPDATE 準備済みステートメントを INSERT および ON DUPLICATE KEY UPDATE に切り替えたいのですが、現在行っていることよりもはるかに効率的であると思いますが、正しい構文を理解するのに苦労しています名前付きプレースホルダーおよび bindParam と共に使用します。

SO で同様の質問をいくつか見つけましたが、PDO は初めてで、コードを自分の基準にうまく適合させることができませんでした。これは私が試したものですが、機能しません (挿入も更新もされません):

これは私のコードの単純化されたバージョンです (いくつかのクエリがあり、各クエリには 20 ~ 50 のフィールドがあります)。現在、最初に更新し、更新された行数が 0 より大きいかどうかを確認し、そうでない場合は Insert を実行しています。これらのクエリにはそれぞれ独自の bindParam ステートメントのセットがあります。

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

php - PDO: バインディングの問題、すべてのクエリが false を返す

私は一生、PDO クエリで動作するようにバインドすることはできません。常に false を返します。

この例では、フィールドの値が他の 2 つの値の間にあることを確認します。

これは機能します:

これはしません:

更新: 上記のクエリは、ヘルプのおかげで機能するようになりました。以下はまだありません。

ここでさまざまな PDO の投稿を調べましたが、解決策が見つかりませんでした。他に何を試すべきかわかりません。

更新 2: わかりました、$db が見つからないため、接続せずに false を返しているようです。$db 接続行は、すべてのメイン ページで必要な connect.php ファイルにあります。これらのページのコンテンツは、関連するファイル/ページを含む関数によって呼び出されます。PDO は関数内で単独では機能しないため、クエリを含むファイルをインクルードする関数によって $db が失われますか? 私は自分自身を十分に明確に説明していないかもしれません。

基本的に、functions.php の関数の例:

main.php

registration.php には以下が含まれます。

ページを含める関数によって $db 変数が失われていますか? もしそうなら、どうすれば $db をすべての関数に通すことができますか?

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

c++ - ODBC (C++) を使用して MS SQL から nvarchar を文字列として取得するにはどうすればよいですか?

SQL データベースから文字列を抽出しようとしていますが、何らかの理由でパラメーターが間違っていて、その理由がわかりません。これが私のコードです:

正常に実行されますが、要求した文字列情報は取得されませんが、2 番目のパラメーター (整数を取得するため) は正常に機能します。ParameterType を複数の異なるものに変更しようとしましたが、エラーがスローされます (たとえば、SQL_LONGVARCHAR は非推奨です)。

SQLでは、取得しようとしているデータは次のとおりです。

これに光を当てることができる人に前もって感謝します。私は一日中髪を引っ張っています。

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

php - bind_param、無効なオブジェクトまたはリソースで繰り返し発生する問題

私はこの問題を抱えてbind_paramいますが、何が問題なのかわかりません:

私が得ている警告は次のとおりです。

そして、私を殺しているのは、この正確な構文が 7 つまたは 8 つの他のドキュメントを同じようにまとめていることですが、何らかの理由でこれは壊れ続けています。私は各テーブルをチェックしましたが、それらは良好です (これは、これが最後に発生したときの問題でした)。私は、stmt_init()他の何よりも先に自分の健康を宣言していることを確認しています(以前にも問題がありました)。シート全体にエコーが$_GET['catName']印刷されているので、通り抜けています(そこでも問題がありました)。

また、よりメタな質問ですが、bind_param を使用することが SQL インジェクションを防ぐ最善の方法であると言われました。本当に必要なセキュリティはこれだけですか? (つまり、当然のことながら、セキュリティが強化されていると確信していますが、これは小さなイエロー ページ タイプのサイトです)。

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

sql-server-2008 - SqlBindParameter nvarchar(max) 列の精度値が無効です

[To]として定義されている列 ( ) を持つテーブルがありますnvarchar(max)http://msdn.microsoft.com/en-gb/library/ms186939.aspxによると、列の最大長nvarchar(max)は 2^32 です。

4000 文字を超える文字列をバインドしようとしています (成功のしきい値は 4000 であると推測していますが、実際にはそれを証明していません) この列と HY104:1:0 で失敗します

SQLBindParameter:HY104:1:0:[Microsoft][SQL Server Native Client 11.0]無効な精度値

バインドしようとしている文字列の長さの例は 21707 です。

次の ODBC ドライバーを使用して実行しようとしましたが、結果はすべて同じです。

私が行っている実際の呼び出しは次のとおりです。

どこ:-

SQL サーバーの詳細:

私は何を間違っていますか?

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

pdo - fetchColumn と bindParam で行数を取得する方法

なぜこれが機能しないのですか

そして、このコードを実行すると動作します

bindParam 値よりも多く使用しようとすると、コードがクラッシュします。チェックする値を 1 つ以上持つことができないのはなぜですか?

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

php - Php MySqlPDOBindParamがときどき動作する

これまでのところ、次のコードがあり、ページに渡された$_GET用語に基づいて2つのクエリを実行します。

クエリ1)$ _GET->Worksから渡されたテーブル名に基づいて列名を取得します。

クエリ2)そのテーブルからデータを取得します->機能しません。

2番目のクエリは次のとおりです。

クエリを次のように変更すると:

動作しますが、そもそもなぜ動作しないのか理解できません。私が何かを逃したか、いくつかのばかげたエラーがある場合、私はこれの何が悪いのかわからないので私に知らせてください。

完全なソースは次のとおりです。