无法从MySQL DB中检索文本

时间:2012-11-15 10:04:17

标签: php html

我创建了一个简单的博客系统,它连接到我的数据库并从名为login的db和名为news的表中检索信息。问题是它即使连接也不会发布信息。继承我的代码:

<html>
<?php
$host = '127.0.0.1';
$user = 'root';
$password = 'ascent';
$webdb = 'login';
$newstable = 'news';

$con = mysql_connect($host,$user,$password); 
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

if (isset($_GET['newsid']))
{
    $id = (int)$_GET['newsid'];
    mysql_select_db($webdb);

    $result = mysql_query("SELECT * FROM news WHERE id='".$id."'");
    $row = mysql_fetch_assoc($result); ?>
    <div class='box_two_title'><?php echo $row['title']; ?></div>

    <?php 
    echo $row['body'];
    }
    ?>
Hello
</html>

到目前为止,感谢您提供所有有用的答案,但仍然没有发布:S

4 个答案:

答案 0 :(得分:0)

您的错误是否已报告? connect::selectDB('webdb')应该抛出错误。 此外,您在变量中设置主机,数据库名称,并在连接时将它们放在引号中。为什么呢?

connect::selectDB('webdb'); 

应该是

mysql_select_db($webdb);

并且

$con = mysql_connect("$host","$user","$password");

应该是

$con = mysql_connect($host,$user,$password); 

答案 1 :(得分:0)

如果您在这里获得$ id的正确值     if (isset($_GET['newsid'])) { $id = (int)$_GET['newsid'];并且您有一个带有“标题”和“正文”列的“新闻”表,然后跟随您的工作。

<html>    <head><title> You Title </title></head>    <body>
<?php
$host = '127.0.0.1';
$user = 'root';
$password = 'ascent';
$webdb = 'login';
$newstable = 'news';

$con = mysql_connect($host,$user,$password);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
?>
<div class='box_two_title'>
<?php
if (isset($_GET['newsid']))
{
    $id = (int)$_GET['newsid'];
    mysql_select_db($webdb);

    $result = mysql_query("SELECT * FROM news WHERE id='".$id."'");
    $row = mysql_fetch_array($result); ?>
    echo $row['title'];
    echo "</div>";
    echo $row['body'];
}
else
    echo "</div>";
?>    
Hello
</body>
</html>

答案 2 :(得分:0)

如果所有变量都具有正确的值,那么这应该有效。

<html>
<head>
</head>
<body>
    <?php
    $host = "127.0.0.1";
    $user = "root";
    $password = "ascent";
    $webdb = "login";
    $newstable = "news";

    $con = mysql_connect("$host", "$user", "$password"); 
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    if (isset($_GET['newsid']))
    {
        $id = (int)$_GET['newsid'];
        mysql_select_db("$webdb");

        $result = mysql_query("SELECT * FROM news WHERE id='".$id."'");
        while($row = mysql_fetch_array($result)){ ?>
        <div class='box_two_title'><?php echo $row['title']; ?></div>

        <?php 
        echo $row['body'];
        }
    }
    ?>
Hello
</body>
</html>

答案 3 :(得分:-1)

尝试在途中转储每个var。可能需要循环mysql_fetch_assoc($result)