2017-02-26 69 views
1

以下是我創建的PHP文件的代碼。將數據從`HTML`登錄表單傳遞給`PHP`,以便從'MySQL'數據庫中恢復數據

<?php 
$db = mysqli_connect("127.0.0.1","root","toor","mylib") 
or die('Error connecting to MySQL server.'); 
?> 
<html> 
<head> 
</head> 
<h1>PHP connect to MySQL</h1> 
</body> 
</html> 


<?php 
$query = "SELECT * FROM book WHERE bookid IN (SELECT bookid FROM studentbook WHERE studid = 
$_POST['stuid'])"; 
mysqli_query($db, $query) or die('Error querying database.'); 
$result = mysqli_query($db, $query); 
$row = mysqli_fetch_row($result); 
foreach($row as $a) 
    print($a." "); 
?> 

現在,我期待從HTML登錄頁面獲取studid並將其傳遞 使用POST方法來檢索對應的值(studid)數據的PHP文件中輸入,從MySQL數據庫 - 我的意思是使用mysqli_query()功能。

但是當我嘗試運行我上面顯示的代碼,我想出了下面Error

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /opt/lampp/htdocs/connectivity.php on line 13

請指引我在以下方面:

1)如何從Login page獲得值並使用post方法將它傳遞給PHP file

2)如何糾正上述錯誤?

+1

[如何在mysqli-query中使用$ \ _ POST變量? (PHP)](http://stackoverflow.com/questions/30360721/how-to-use-a-post-variable-in-an-mysqli-query-php) – mickmackusa

回答

1

希望下面的代碼必須工作,您的錯誤可能會得到解決,

<?php 
$db = mysqli_connect("127.0.0.1","root","toor","mylib") 
or die('Error connecting to MySQL server.'); 

/* get values from form */ 
$sid = $_REQUEST['stuid']; 

/* execute query */ 
$query = "SELECT * FROM book WHERE bookid IN (SELECT bookid FROM studentbook WHERE studid = '$sid')"; 
mysqli_query($db, $query) or die('Error querying database.'); 
$result = mysqli_query($db, $query); 
$row = mysqli_fetch_row($result); 
foreach($row as $a) 
    print($a." "); 
?> 

現在從登錄頁面的數據會被存儲在$sid變量,將在查詢中插入。因此,如果您的數據庫已連接並且一切正常,您可以看到存儲在$row陣列中的輸出。