2017-02-24 146 views
-1

我不理解爲什麼這不工作.... 這裏得到一個用戶是我到目前爲止:無法從MySQL數據庫使用PHP

$conn = new mysqli("localhost", "csc", "sacstate", "csc131"); 
 

 
if ($conn->connect_error) { 
 
    die("Connection to database has failed.");// . $conn->connect_error); 
 
} 
 

 
$sql = "SELECT * FROM staff WHERE name = " . $data1; 
 
$result = $conn->query($sql); 
 
$row = $result->fetch_assoc(); 
 
echo $row['name'];

而且我確信$ data1已被正確設置和設置。 但是,我收到第20行的錯誤,其中指出: $ row = $ result-> fetch_assoc();

的錯誤狀態: PHP致命錯誤:調用在C成員函數FETCH_ASSOC()布爾:\的Inetpub \上線測試\ gen.php 20

我只是想該特定用戶的所有信息。爲什麼這不適合我? :(

+0

'$ data1'的值是什麼?integer或string?聽起來像是一個字符串,或者對它有任何價值。它的定義 –

+1

有時候我想知道爲什麼這個部分甚至存在於第一位,他們幾乎沒有迴應評論。 –

+1

你很快就會知道,如果答案沒有發佈並且評論需要在本節中澄清,那麼如果你的下一個問題不清楚,你會等很長時間。所以通過忽略評論,你既不禮貌又等待魔法答案。 –

回答

1

刪除您$ SQL和下面替換它。

$sql = "SELECT * FROM staff WHERE name = '" . $data1 . "'"; 

因爲我相信名稱字段是varchar類型,所以要配合varchar列的字符串需要傳遞裏面''引用。其他Mysql給出了錯誤,它認爲字符串本身是任何列名。

+0

美麗!非常感謝你的幫助! 這是因爲我的$ data1中有一個空間「Bob Saggot」,因此它被搞亂了,因爲它只是看着「Bob」而不是那些(')它會接受整個「Bob Saggot」。 – therehere3

+0

@ Fred-ii-更新了我的回答 – Naincy

+1

@ therehere3 *「這是因爲我的$ data1裏有一個空格」Bob Saggot「」* - 這與它無關,我可以向你保證。 –