我使用PHP會話變量跟蹤字符ID的兩個表之間,字符和character_data_store。如何在使用php變量的MySQL查詢的WHERE條件中使用變量?
會話ID肯定有正確的ID,因爲我必須在進入mySQL查詢之前打印它的值。
爲了測試我選擇我就知道有一個rapsheet用戶和使用
$usersql = "SELECT *
FROM character_data_store
WHERE character_data_store.`key` = 'RapSheet'
AND character_data_store.character_id = '216'";
很顯然,我需要確認正確的已選定所以,這是我不能使用此爲所有用戶在會話變量變得
我已經嘗試使用:
$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'";
我做了一些搜索的SO,我發現這個int的需要,讓他們周圍的雙引號不是單引號,我TR滅蠅燈是並沒有運氣,但別人建議對會話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告訴我是因爲這個操作結果爲false,我假定它不接受來自selpid或$ correctPlayer的playerID?
它肯定與playerID直接插入查詢的測試用戶一起工作。但我想不出一種方法來做到這一點,因爲我需要匹配來自表格「角色」的玩家ID,其中搜索是根據他們的名字和姓氏完成的,然後將表格數據與表格「character_data_store」中的相同玩家ID相拉。
如何在使用php變量的MySQL查詢的WHERE條件中使用變量?
您使用佔位符('?')和您正在使用的mysql層的方法(PDO或mysqli_X)將變量綁定到它。 –
你能迴應'$ usersql'嗎?看到它實際上包含一旦你已經添加到它的會話變量 – FMashiro
@FMashiro我呼應它,它出來作爲SELECT * FROM character_data_store WHERE character_data_store.'key'='RapSheet'AND character_data_store.character_id ='376'這是我想要的是。 – DrauL