如何通过ID desc发布数据

时间:2012-11-03 06:12:31

标签: php database mysqli output

$query="select * from messages where client_id='$client_id' ORDER BY `id` DESC";

上面的脚本似乎不起作用,我想在按降序发布时选择与使用者输入相等的所有数据

  $result = $mysqli->query( $query );

                                        while ($row = $result->fetch_object())
                                        {
                                                $mes_agent_id = $row->poster_id;
                                                $id = $row->msg_id;
                                                $mes = $row->message;
                                                $mes = nl2br($mes);
                                                $cdate = $row->date_post;
                                                $msg ="{$mes} <br> . {$cdate}";

                                                $query_agnt ="select * from agent_info where id='$mes_agent_id'";
                                                $result_agnt = $mysqli->query( $query_agnt );
                                                $row_agnt = $result_agnt->fetch_object();
                                                        $mes_agent_first = $row_agnt->first;
                                                        $mes_agent_last = $row_agnt->last;
//wall ===================================================
?>
<li class="bar<?php echo $id; ?>">
<div id="news-avatar">
<img src="data/agentpic/<?php echo $mes_agent_first.$mes_agent_last; ?>.jpg" style="height:50px;float:left;margin-right:10px;"/>
</div>
<div align="left" class="post_box">
<br><label><strong><?php echo $mes_agent_first.' '.$mes_agent_last; ?></strong></label> <br> <br>
<?php echo $msg; ?> 

<br><br><a href="#" class="comment" id="4">comment</a><br>
</div>
<div id='expand_box'>
<div id='expand_url'></div>
</div>
<div id="fullbox" class="fullbox<?php echo $id; ?>">
<div id="commentload<?php echo $id; ?>" >

如何从数据库中按降序发布数据,同时选择应该选择数据的位置?

2 个答案:

答案 0 :(得分:2)

请更改此声明:

$query="select * from messages where client_id='" . $client_id ."' ORDER BY ID为DESC";

答案 1 :(得分:1)

您必须在column_name和table_name的开头和结尾使用“`”,或者只使用column_name和table_name,但不要同时使用它们。

你这样使用:

"select * from `messages` where `client_id`='$client_id' ORDER BY `id` desc";

或者您可以使用

"select * from messages where client_id='$client_id' ORDER BY id desc";

最好在php中使用addslashes()函数和$ client_id来防止sql注入。

像这样:

$client_id = addslashes($client_id);
"select * from messages where client_id='$client_id' ORDER BY id desc"

我希望能为你完成。