Mysql 获取不工作

Mysql Fetch not working

我真的不知道为什么这段代码不起作用。数据库连接有效,时间戳已写入数据库。

但我不明白为什么我在这里得到一个带有此代码的空白页(我应该看到时间戳作为回显)。

有人对此有想法吗?

谢谢!

<?php
$user = "daycounter";
$password = "1234";
$database = "daycounter";
$host = "localhost";
$date = time();


// Create connection
$conn = new mysqli($host, $user, $password, $database);
// Check connection
if ($conn->connect_error) {
    die("Error: " . $conn->connect_error);
} 
//Insert timestamp in database
$sql = "INSERT INTO datum (datum)
VALUES ('".$date."')";
//check if that worked
if ($conn->query($sql) === TRUE) {
    echo "That worked!";
} 
//get timestamp from db and display it as echo
$select = "SELECT 'datum' FROM 'daycounter'";
$result = mysql_query($select);
while($row = mysql_fetch_object($result))
   {
   echo "$row->datum";

   }

?>

您正在使用 mysqli 数据库连接,但调用 mysql 来执行您的 select。你不能 mix/match 那样的数据库。即使您进行了最小的错误检查,您也会被告知没有与数据库的连接:

$result = mysql_query($select) or die(mysql_error());
                               ^^^^^^^^^^^^^^^^^^^^^

另外,您的 select 查询有语法错误。 'daycounter' 是一个字符串文字 - 你不能 select FROM 一个字符串。 'datum' 在语法上是正确的,你可以 select 来自 table 的字符串文字,但最像你想要的:

SELECT datum FROM daycounter
or
SELECT `datum` FROM `daycounter`

这两个词都不是保留字,因此没有必要将它们加引号,但如果您是坚持引用所有标识符的人之一,那么它们必须用反引号而不是单引号引起来.

$select = "SELECT 'datum' FROM 'daycounter'";
$result = mysqli_query($conn, $select);

while($row = mysqli_fetch_object($result)) {
    echo "$row->datum";
}