問題タブ [mysqli]
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 - プリペアドステートメントが何も返さない
準備されていない手続き型のメソッドでテストしたので、この特定のクエリが機能することはわかっています。ここにあります:
セクションテーブルのインデックスとしてid列があるので、php.netでの上記のステートメントを前提として、結果としてそれもバインドする必要があることに気付きました(ありがとう、Bill)。
新しいコードは次のとおりです。
提案を提供できるすべての人に改めて感謝します。(興味があります。このようにプリペアドステートメントのOOPスタイルを使用すると、デバッグが困難になります。たとえば、実際に使用されたクエリを簡単に確認する方法はありますか?)
私が次のことをすると、簡単で汚い例として:
私のデータが表示され、すべてが順調です。ただし、次のことを行う場合:
私が正しいと信じていること(もちろん、そうでない場合は遠慮なく叫んでください)、私は何も得られません。さらに、そのコードでは、(念のために)html検証を行うと、内部サーバー警告(500)が表示されます。これは、SQLコードの問題であると見なされます。私はただのナッツですか?
php - PHP Mysqli fetch_assoc
PHP の MySQLi 機能は優れています。
プリペアド ステートメントは、クエリにパラメーターを挿入するのに最適です。
ただし、ステートメントを使用すると、fetch_assoc 機能にアクセスできなくなったようです。すべての結果を手動でバインドする必要があります。これは、SQL クエリですべてのフィールドを一覧表示する必要があることを意味します。次に、結果を取得するときに (bind_result を使用して) 事前にすべての変数を一覧表示する必要があります。これは非常に煩わしく、時間を浪費する可能性があります。
代替手段はありますか?
ありがとう
php - PHPとMYSQLi-ループを使用してパラメーターをバインドし、配列に格納しますか?
以下は、テーブルから複数のデータを取得するために使用している関数のコードですが、bind_result($ array [0]、...、..)を使用して、フィールドの数に応じて自動的に生成されます。クエリで選択します。
例えば..
(5つの値のbind_resultは自動的に生成されます)ヘルプは高く評価されます...ありがとう
php - mysqli/php での予期しない重複
Ubuntu 8.04 LAMP で PHP(5.2.4) MySQL(5.0.51a) で MySQLi を使用しています。
関連する Db テーブルは次のとおりです。
以下を使用して、MySQLi を使用して Db に接続しています (プレースホルダー ジェネリックを優先して、実際のユーザー名、パスワード、およびデータベース名を編集したことを念頭に置いてください)。
これにより、期待どおりに質問が返されます。print_r は次のとおりです。
予想していた 4 つではなく、8 つの結果になってしまったことに混乱しています。データベースについて何か知っている人なら誰でも予想するように、mysql ターミナル クライアントを使用するか、php の mysql-api を使用するかに関係なく、8 を取得します。
重複を作成するために何が間違っていますか?
php - mysqli を使用してカスタム データを抽出する
データベースからデータを動的に取得できるように、すべての選択クエリにphpの関数を使用しています.....それが私のコードが安全で効率的かどうか、またはこれを行うためのより良い方法であるかどうかを知りたかっただけです。正しい方向に向けてください...ありがとう
今私が使用している関数を呼び出す::>
この関数は、抽出するデータに応じて、 $result に多次元配列を返し、それを $extract に格納します。改善やその他の提案をいただければ幸いです...
php - PHPMysqliはステートメントオブジェクトを作成しない準備をしました
プリペアドステートメントでphpmysqli拡張機能を使用していますが、1つのクエリでクエリオブジェクトが作成されていません。
コードは次のとおりです。
問題:
行if($query = $this->mysqli->connection->prepare($sqlq))
Theif()
はfalseを返しているため、$query
オブジェクトを作成せず、if内のコードを実行していません。
echo $sqlq;
リターン:
"SELECT id、name FROM productcategories JOIN products ON productcategories.productid = products.id WHERE categoryid =?OR categoryid =?OR categoryid =?OR categoryid =?OR categoryid =?OR categoryid =?"
何も悪いことはありません。
どんな助けでも大歓迎です、
ありがとう、ニコ
php - mysqli_real_escape_string AND 準備済みステートメント?
十分に単純な質問でなければなりません:
mysqli のプリペアド ステートメントを使用している場合mysqli_real_escape_string()
、同様に使用する必要がありますか?
これは必要ですか、それとも良い考えですか?
ありがとう、ニコ
php - MySQL に対する MySQLi の利点
MySQL よりも MySQLi を使用する利点は何ですか?
php - テーブルに INSERT を実行すると、自動的にインクリメントされるプライマリ インデックスの値を取得できますか?
テーブルに行を挿入していて、自動的にインクリメントされるプライマリ インデックスの値を取得したいと考えています。
プライマリ インデックスはテーブル内の唯一の一意の値であるため、あいまいさを防ぐために「SELECT [プライマリ インデックス] FROM [テーブル] WHERE [列 = 挿入したデータ]」のようなことはしたくありません。また、INSERT ステートメントと SELECT ステートメントの間に行が挿入された可能性があるため、最後の行を SELECT したくありません。
空の行を INSERT し、プライマリ インデックスを SELECT し、データを含む行を UPDATE することはできますが、それは非常に見苦しいハックのように思えます。これは、mysqli API を介して挿入したばかりの行のプライマリ インデックスを取得する方法である必要があると私は信じています。
誰かが私を啓発できますか?