簡體   English   中英

用PHP查詢mysql數據庫中的數據

[英]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>

這是因為您沒有使用apache/php/mysql運行代碼。

如果您使用像wamp這樣的Windows軟件包將其放在www目錄中並通過localhost訪問它,而不是直接在瀏覽器中打開它,否則瀏覽器會將其視為普通的html。

當你打開chrome時,我打開了它:

在此輸入圖像描述

您應該使用localhost訪問您的腳本,並確保您的wamp(或您正在使用的任何服務器包)應該運行。

與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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM