2013-11-26 153 views
0

我目前有一個帶有html代碼的php文件。在body標籤im的開頭部分,包括一個包含db連接,查詢和fetch_result的dbcon.php。我現在想在HTML文件中稍後使用這些結果,但我無法讓它工作。包含php文件的變量

網站文件看起來是這樣的:

<html> 
<head>...</head> 
<body> 
<?php include("dbcon.php"); ?> 
... 
<some html stuff> 
... 
<? here i want to use the data from the query ?> 
... 
</body></html> 

的dbcon.php僅包含連接,查詢和fetch_results。

編輯: dbcon:

<?php 

$con=mysql_connect("localhost:8889","user","pw","db"); 
$result_query = mysql_query($con,"SELECT * FROM table"); 
$results = mysql_fetch_array($results_query); 

?> 

我不能訪問HTML文件的下部分的數據。

+1

請發佈dbcon.php – David

+0

當你說「我無法訪問html文件下半部分的數據」時,你是什麼意思? –

+2

[請停止使用mysql_ *函數](http://stackoverflow.com/q/12859942/1238019),它們[已正式棄用](https://wiki.php.net/rfc/mysql_deprecation) 。相反的,對[預處理語句(http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html)看看,然後用[mysqli的(HTTP:/ /php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)。 – zessx

回答

0

你的代碼是「正確的」,因爲你不需要任何更多的東西來訪問你的變量。

但你混合mysql_mysqli_語法:

  • mysql_query採取的第一個參數查詢,沒有了連接
  • mysqli_query就拿第一個參數了連接,並查詢作爲第二個

你應該使用mysqli_

$con = mysqli_connect("localhost:8889","user","pw","db"); 
$result_query = mysqli_query($con, "SELECT * FROM table"); 
$results = mysqli_fetch_array($results_query); 

另一個版本,面向對象:

$mysqli = new mysqli("localhost:8889", "user", "pw", "db"); 
if ($mysqli->connect_errno) { 
    printf("Connect failed: %s\n", $mysqli->connect_error); 
    exit(); 
} 
$results = array(); 
if ($result_query = $mysqli->query("SELECT * FROM table")) { 
    $results = $result_query->fetch_array(); 
} 
+0

謝謝,就是這麼做的。我的包括也沒有工作。 – szpar

0

不使用mysql_功能,它depricated。
無論如何你使用錯誤的變量名稱。 $results_querymysql_fetch_array($results_query)所以更改爲$result_query它可能會工作。

<?php 

$con=mysql_connect("localhost:8889","user","pw","db"); 
$result_query = mysql_query("SELECT * FROM table"); 
$results = mysql_fetch_array($result_query); 

?> 
+0

'mysql_query($ con,$ query);'無效,它應該引發一個錯誤。 – zessx

+0

你是真的,我更新我的答案。 – DS9