私は、の文字IDをの文字とのcharacter_data_storeの間で追跡するためにPHPセッション変数を使用しています。php変数を使用してMySQLクエリのWHERE条件で変数を使用するにはどうすればよいですか?
セッションIDは、mySQLクエリに入る前にその値を印刷しなければならないので、正しいIDを持っていることは間違いありません。
私は私は1つのセッションthatsのように選択された権利を確認する必要があるとして、私はすべてのユーザーのためにこれを使用することはできませんrapsheetを持っていたと明らかに$usersql = "SELECT *
FROM character_data_store
WHERE character_data_store.`key` = 'RapSheet'
AND character_data_store.character_id = '216'";
を使用知っていたユーザーを選択し、テストするために
変数が入って来
私が使用して試した:私はいくつかのSOの検索でした
$correctPlayer = $_SESSION['selpid'];
echo $correctPlayer; #confirm it's the right id and then remove
$usersql = "SELECT *
FROM character_data_store
WHERE character_data_store.'key' = 'RapSheet'
AND character_data_store.character_id = '$correctPlayer'";
をし、私はTR、int型の必要性は、彼らの周りの二重引用符ではない単一引用符を持っていることがわかりましたそれをIEDと運がなかったが、他の誰かが、私は次の試みたかを正確にしてセッションIDを置く提案:)
$usersql = "SELECT *
FROM character_data_store
WHERE character_data_store.'key' = 'RapSheet'
AND character_data_store.character_id = {$_SESSION['selpid']}";
私はこれを行うたびに、私は(mysqli_fetch_assocを取得ブール値がどの与えられ、パラメータ1がmysqli_resultされることを想定していSOは、この操作が偽になるため、playerID(selpidまたは$ correctPlayer)を受け入れていないと判断しています。
playerIDがクエリに直接挿入されているテストユーザーでは、間違いなく動作します。しかし、私はそれを行う方法を考えることができません。なぜなら、検索が行われた場所のテーブル "文字"とplayerIDを一致させ、テーブル "character_data_store"の同じplayerIDに対してラップシートデータを取得する必要があるからです。 。
PHP変数を使用してMySQLクエリのWHERE条件で変数を使用するにはどうすればよいですか?
プレースホルダ( '? ')と使用しているmysqlレイヤの手段(PDOまたはmysqli_X)を使用して変数をバインドします。 –
あなたは '$ usersql'をエコーすることができますか?それにセッション変数を追加したら、実際に何が入っているのかを確認してください。 – FMashiro
@FMashiro私はそれをエコーして、それをエコーしました* from character_data_store WHERE character_data_store.key = 'RapSheet' AND character_data_store.character_id = '376'私が望むもの – DrauL