SQL值为0,即使它们存在

时间:2014-11-05 16:41:55

标签: php mysql

我试图在我的MySQL数据库中查询一些变量,但由于某些原因它返回0。 这是代码:

<html>
<body>
<?php
    session_start();

    $connection = mysqli_connect("", "", "", "");

    if (empty($connection))
        $error = "Could not connect to Database, please contact an admin with this code: DBE1";


    $tnews = mysqli_query($connection, "SELECT * FROM Test ORDER BY ID DESC");

    while ($news = mysqli_fetch_array($tnews))
    {
        $title = $news['Title'];
        $pimg = $news['PrevImg'];
        $ptext = $news['PrevText'];
        $text = $news['Text'];
        $img1 = $news['Img1'];

        echo "<h1>" + $title + "</h1><br><br>";
        echo "<p>" + $pimg + "</p>";
        echo "<br><p>" + $ptext + "</p><br><br>";
        echo "<p>" + $text + "</p>";
        echo "<br><p>" + $img1 + "</p>";
        echo $title;
    }
    mysqli_close($connection);

?>
    </body>
</html>

哦,结果 00000

我有另一个网站,其中几乎(var name,echo&#39; s,...)一切都是一样的,它在那里工作!我真的不知道什么是错的,有没有人有想法?

P.S:数据库连接有空字符串,因为它有我的数据库的ip,用户名,密码和数据库! ; d

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

+是JS中的连接运算符,使用PHP等效,是一个点.

现在,正如评论中所述,您在会话之前输出内容。

您可能会收到与此类似的警告:

  

警告:session_start():无法发送会话缓存限制器 - 已在第4行的/path/to/file.php中发送的标头(在/ path / to / file:3处开始输出)

更正后的代码,您仍然希望使用会话。如果没有,请删除session_start();

旁注:重要的是不要在<?php或任何其他输出(例如HTML,Cookie或字节顺序标记)之前留出空格,这也会在标题之前输出

<?php 
    session_start();
?>

<html>
<body>
<?php

    $connection = mysqli_connect("", "", "", "");

    if (empty($connection))
        $error = "Could not connect to Database, please contact an admin with this code: DBE1";


    $tnews = mysqli_query($connection, "SELECT * FROM Test ORDER BY ID DESC");

    while ($news = mysqli_fetch_array($tnews))
    {
        $title = $news['Title'];
        $pimg = $news['PrevImg'];
        $ptext = $news['PrevText'];
        $text = $news['Text'];
        $img1 = $news['Img1'];

        echo "<h1>" . $title . "</h1><br><br>";
        echo "<p>" . $pimg . "</p>";
        echo "<br><p>" . $ptext . "</p><br><br>";
        echo "<p>" . $text . "</p>";
        echo "<br><p>" . $img1 . "</p>";
        echo $title;
    }
    mysqli_close($connection);

?>
    </body>
</html>

error reporting添加到文件的顶部,这将发出警告/错误信号,如我的答案所示。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告应仅在暂存时完成,而不是生产。

答案 1 :(得分:1)

我不知道你的其他服务器是如何工作的,但你应该使用点.而不是+来连接php中的字符串。

while ($news = mysqli_fetch_array($tnews))
    {
        $title = $news['Title'];
        $pimg = $news['PrevImg'];
        $ptext = $news['PrevText'];
        $text = $news['Text'];
        $img1 = $news['Img1'];

        echo "<h1>" . $title . "</h1><br><br>";
        echo "<p>" . $pimg . "</p>";
        echo "<br><p>" . $ptext . "</p><br><br>";
        echo "<p>" . $text . "</p>";
        echo "<br><p>" . $img1 . "</p>";
        echo $title;
    }