2013-04-06 120 views
0

我希望用户通过textarea将注释发布到数据库中,然后数据库应该将信息放回到网站上。但是这不起作用!显示mysql表中的所有数据

的index.php:

<textarea rows="2" cols="71" wrap="physical" placeholder = "Post Something!" name="rant_box"></textarea> 
     <input type="submit" value="Post" name="post_btn"/> 

<?php 
     $getquery = mysql_query("SELECT data FROM status ORDER BY id DESC"); 

     while($rows = mysql_fetch_array($getquery)){ 
      $id = $rows['id']; 

      $status = $rows['status']; 

      echo $status . '<br />' . '<br />'; 
     } 


    ?> 

数据正在正确地输入到数据库中。但回调并将其发回到index.php页面不起作用。

+0

[请不要”在新代码中使用'mysql_ *'functions](http://stackoverflow.com/q/12859942/1190388)。他们不再被维护,并[正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到红色框?改为了解准备好的语句,然后使用[tag:PDO]或[tag:MySQLi]。 – hjpotter92 2013-04-06 22:02:56

+0

您的'select'语句不包含'id'列。但是你试图找回它。 – hd1 2013-04-06 22:04:47

+0

我将SELECT数据更改为SELECT *。但它仍然没有显示数据。 – Karthik 2013-04-06 22:12:02

回答

0

您的查询是选择一个名为'data'的列,但您正试图检查结果集中名为'status'的列。如果列确称为“数据”,那么这行

 $status = $rows['status']; 

根据您的选择查询,应该是

 $status = $rows['data']; 

但如果列实际上是所谓的“地位”,那么你需要的在你的SQL语句中用'status'替换'data'。

您还试图访问不在您的选择列表中的$rows['id']。但是因为你没有在你的代码中使用这个值,这是必需的吗?如果需要,您还需要更新您的选择列表中包含此列,即

 SELECT data FROM status ORDER BY id DESC 

应该

 SELECT id, data FROM status ORDER BY id DESC 

NB正如其他人的建议,你不应该使用过时的mysql_功能。请参阅Choosing an API

0

首先,你必须连接到数据库,第二你应该说你要在SQL语句,这样的内容:SELECT id,status FROM status OREDER BY ID DESC 试试这个:

try 
{ 
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); 
} 
catch(Exception $e) 
{ 
     die('Erreur : '.$e->getMessage()); 
} 
id,statu 
$reponse = $bdd->query('SELECT id,status FROM status ORDER BY ID DESC '); 


while ($donnees = $reponse->fetch()) 
{ 
    echo $donnees['status']; 
} 

$reponse->closeCursor(); 

?> 
+0

对于我的post_to_db.php文件,index.php文件有一个包含语句,它包含db_connect.php文件的语句。 – Karthik 2013-04-06 23:05:57

相关问题