[英]querying data from mysql db with PHP
我在我的本地機器上有一個MySQL數據庫,我正在嘗試用PHP查詢它。
我已經寫出了以下HTML
/ PHP
代碼。 當我在Chrome中打開此HTML
文件時,會顯示此內容。 為什么瀏覽器會將此代碼視為文本?
ID Project Code'; while ($row = mysqli_fetch_array($response)){ echo '' . $row[Id] . '' . $row[Project_Code] . ''; echo ''; } echo ''; } else { echo "couldn't connect do it"; echo mysqli_error($dbc); } mysqli_close($dbc); ?>
碼:
<HTML>
<body>
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root');
DEFINE ('DB_HOST', 'my_local_ip');
DEFINE ('DB_NAME', 'my_db');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die("couldn't connect");
$query = "SELECT Id, Project_Code FROM database.projects";
$response = @mysqli_query($dbc, $query);
if ($response){
echo '<table>
<td>ID</TD>
<td>Project Code</TD></table>';
while ($row = mysqli_fetch_array($response)){
echo '<tr><td>' .
$row[Id] . '</td></td>' .
$row[Project_Code] . '</td></td>';
echo '</tr>';
}
echo '</table>';
} else {
echo "couldn't connect do it";
echo mysqli_error($dbc);
}
mysqli_close($dbc);
?>
</BODY>
</HTML>
與javascript / HTML不同的PHP是服務器端語言。 它在服務器上運行,並將生成的內容輸出到瀏覽器。
所以舉個例子
<?php
if(empty($a)) {
echo ':)';
} else {
echo ':(';
}
?>
進入瀏覽器的唯一部分是:)
。
你遇到的問題是
a)你的文件是.html
。 除非修改了服務器配置,否則PHP將不會以此形式運行。
b)您的文件正在未安裝PHP的本地計算機上執行。
解決方案:
a)在本地計算機上安裝PHP; http://php.net/manual/en/install.php
b)移動到托管服務器(這可能更容易,因為他們將支持配置問題)
(與刻字問題無關的字母)
更具體地說,你的整個PHP代碼輸出到瀏覽器但是
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root');
DEFINE ('DB_HOST', 'my_local_ip');
DEFINE ('DB_NAME', 'my_db');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die("couldn't connect");
$query = "SELECT Id, Project_Code FROM database.projects";
$response = @mysqli_query($dbc, $query);
if ($response){
echo '<table>
在<table>
的>
之前,所有內容都被讀作<?php
。
同時學習時盡量不要使用@
。 這可以抑制錯誤,而那些可能(95%的情況下)會對你有用。
安裝Apache,MySQL和PHP之后
(您可以嘗試其他答案中提到的XAMPP或WAMP。)
你可以測試這段代碼:
(對於XAMPP,將您的代碼放在xampp \\ htdocs文件夾中,
像something.php這樣的名字
跑步。 瀏覽到localhost / something.php)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'password');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'database');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die("couldn't connect");
$query = "SELECT Id, Project_Code FROM database.projects";
$response = mysqli_query($dbc, $query);
?>
<?php
if ($response){
echo '<table>
<td>ID</td>
<td>Project Code</td>';
while ($row = mysqli_fetch_array($response)){
echo '<tr>'.'<td>'.$row['Id'].'</td><td>'.$row['Project_Code'].'</td></tr>';
}
echo '</table>';
} else {
echo "couldn't connect do it";
echo mysqli_error($dbc);
}
mysqli_close($dbc);
?>
</BODY>
</HTML>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.