2017-07-31 74 views
0

我不是很習慣於使用MySQL,而且我正在接受由其他人創建的項目。mysql查詢失敗 - 布爾給定

我試圖查詢一個名爲「perfis」的數據庫表,其中有幾行,結果是「Y」或「N」。

我嘗試使用下面的查詢來得到這一結果:

$query = "SELECT * FROM `perfis` WHERE id= `".$_SESSION['perfil']."`;"; 

$result = mysqli_query($con,$query); 

$regPerfil = mysqli_fetch_array($result); 

$_SESSION['perfil']是該行的ID,並且該值由窗體上的上一步中給出)。

該查詢應該允許我從表中獲取變量,然後可以使用該變量將用戶引導至特定的網頁。

但是,我無法獲得我需要的變量。它返回的空白,並檢查記錄,之後我看到下面的PHP警告:

mysqli_fetch_object()預計參數1被mysqli_result,布爾給

任何人都可以請點我正確的方向與此?

我知道$_SESSION['perfil']變量正在返回一個有效值,因爲如果我打印它,我會得到我需要的值。

+0

您的連接失敗。 – mkaatman

+2

您已經開放SQL注入。由於您使用的是mysqli,請利用[prepared statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[bind_param](http://php.net/手動/ EN/mysqli的-stmt.bind-param.php)。 **而且您再也不用擔心引用問題** – aynber

+0

在id值周圍使用反引號告訴mysql將該值視爲列標識符而不是值。 –

回答

0

你可以像下面一樣使用,我認爲oyu在where子句的右邊使用了back-tick

$query = "SELECT * FROM `perfis` WHERE id= '".$_SESSION['perfil']."'";