2016-05-17 70 views
0

我正在努力在线获取Raspberry pi项目。我有一些编写MYSQL数据库的示例代码,我已经成功地设置了域指针,并且可以使用Apache在线获取数据。但是,当我在网上发现一些示例代码时,它们并不完全适用于我。但是,如果我直接访问一个.php文件并使用它的数据库信息。简单的PHP嵌入了一些真正简单的HTML

任何人都可以帮助我理解我在错误的东西的HTML端,为什么它不会正确显示我的信息?

这就是我得到的。

enter image description here]

我的代码是这样的: connectdb.php

<?PHP 
DEFINE ('server' = '127.0.0.1'); 
DEFINE ('user_name' = 'root'); 
DEFINE ('password' = 'xxxxxxxx'); 
DEFINE ('database' = 'website_database'); 

    $db_handle = mysql_connect(server, user_name, password, database); 
    $db_found = mysql_select_db($database, $db_handle); 

    ?> 

我的HTML的网站是:

<html> 
<head> 
<title>Display Data into DB</title> 
<style type="text/css"> 
table { 
    border: 2px solid red; 
    background-color: #FFC; 
    } 
th { 
    border-bottom: 5px solid #000; 
    } 

td { 
    border-bottom: 2px solid #666; 
    } 
</style> 
</head> 
<body> 

<a href="database.php">blah</a> 

<h1> Display Data from DB </h1> 

<?php 
include('connectdb.php'); 

$sqlget = "SELECT * FROM templog"; 
$sqldata = mysqli_query($db_handle, $sqlget) or die('error getting db'); 

echo "<table>"; 
echo "<tr><th>ID</th><th>Date</th><th>Time</th>"; 

while($column = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)) 
    { 
    echo "<tr><td>"; 
    echo $column['date']; 
    echo "</td><td>"; 
    echo $column['time']; 
    echo "</td></tr>"; 
    } 

echo "</table>"; 

?> 

</body> 
</html> 

任何帮助将是巨大的。我对此很陌生,只是试图开始使用一些基本功能。我会从字面上通过少于15个功能,所以我不会寻找许多花里胡哨的东西,只是一点点显示,最终还是有一点点输入。

+1

您的文件需要'.php'而不是'.html'。 (*由于它内部有PHP代码。*) – Darren

+0

您将'mysql_'和'mysqli_'函数混合在一起。你应该只使用'mysqli_'函数。 'mysql_'函数已被弃用了很长时间。 – Alex

+0

是的......你不能通过'mysql'连接,然后使用'mysqli'函数..这是错误的,你会有错误,你的代码将无法正常工作..! –

回答

0

建议您使用MySQLi,因为mysql已折旧。

connectdb.php

$mysqli = newMySQLi('localhost','root','xxxxxxx','website_database'); 

您的主要驱动力

<head> 
<title>Display Data into DB</title> 
<style type="text/css"> 
    table { 
border: 2px solid red; 
background-color: #FFC; 
} 
th { 
border-bottom: 5px solid #000; 
} 

td { 
border-bottom: 2px solid #666; 
} 
</style> 
</head> 
<body> 

<!-- no reason to href this <a href="database.php">blah</a> ---> 

<h1> Display Data from DB </h1> 

<?php 
include('connectdb.php'); 

$sqlget = "SELECT * FROM templog"; 
$results = $mySQLi->query($sqlget); 

echo "<table>"; 
echo "<tr><th>ID</th><th>Date</th><th>Time</th>"; 

while($column = $results->fetch_assoc()) 
    { 
    echo "<tr><td>"; 
    echo $column['date']; 
    echo "</td><td>"; 
    echo $column['time']; 
    echo "</td></tr>"; 
    } 

echo "</table>"; 

?> 

</body> 
+0

谢谢,你发布了这个关于同一时间我想出来的。不管怎样,谢谢! –

+0

没有probs,建议您使用MySQLi代替mysql_,因为它已折旧。 :) – Ponilz

0

谢谢你们你我走上了正确的道路。问题是.html文件的组合,并且像你们所描述的那样混合了mysqli和mysql。这是最后的代码,工作得很好。

为了帮助未来的人们,这是正确的格式。

<?PHP 
$server = "127.0.0.1"; 
    $user_name = "root"; 
    $password = "xxxxxxxx"; 
    $database = "website_database"; 

    $db_handle = mysql_connect($server, $user_name, $password); 
    $db_found = mysql_select_db($database, $db_handle); 

?> 

<html> 
<head> 
<title>Display Data into DB</title> 
<style type="text/css"> 
table { 
    border: 2px solid red; 
    background-color: #FFC; 
    } 
th { 
    border-bottom: 5px solid #000; 
    } 

td { 
    border-bottom: 2px solid #666; 
    } 
</style> 
</head> 
<body> 

<a href="database.php">blah</a> 

<h1> Display Data from DB </h1> 

<?php 

include('connectdb.php'); 

$sqlget = "SELECT * FROM templog"; 

echo "<table>"; 
echo "<tr><th>Date</th><th>Time</th>"; 
if ($db_found) { 

     $SQL = "SELECT * FROM templog"; 
     $result = mysql_query($SQL); 

     while ($db_field = mysql_fetch_assoc($result)) { 

      echo "<tr><td>"; 
      echo $db_field['date']; 
      echo "</td><td>"; 
      echo $db_field['time']; 
      echo "</td><td>"; 

     } 

    mysql_close($db_handle); 
echo "</table>"; 
} 
else { 

    print "Database NOT Found "; 
    mysql_close($db_handle); 

    } 




echo "</table>"; 

?> 

</body> 
</html>