Функция и код не проходят через переменные должным образом. Что-то вроде запроса отладки в твиттер-подобном системном коде - PullRequest
1 голос
/ 12 марта 2011

По какой-то причине данные формы не проходят должным образом в функции, которую я использовал с http://www.ibm.com/developerworks/opensource/library/os-php-twitter-interface/index.html#author1

Я не уверен, правильно ли я использую имплозу. Однако, если вы заметили, я изменил некоторые значения в руководстве, потому что мне показалось, что они кажутся неверными. Просто иди и дай мне знать, что я должен изменить. Прямо сейчас, profile.php появляется и никаких сообщений не появляется. Тем не менее, базы данных получают все сообщения отлично.

Нет сообщений об ошибках ... Что-то не проходит должным образом.

Я нахожусь на последней части урока. Мой код, который находится в index \ profile.php:

    <!-- Shows posts on page-->
<?php
$posts = show_posts($_SESSION['userid']);

if (count($posts)){
?>
<table border='1' cellspacing='0' cellpadding='5' width='500'>
<?php
foreach ($posts as $key => $list){
    echo "<tr valign='top'>\n";
    echo "<td>".$list['user_id'] ."</td>\n";
    echo "<td>".$list['body'] ."<br/>\n";
    echo "<small>".$list['stamp'] ."</small></td>\n";
    echo "</tr>\n";
}
?>
</table>
<?php
}else{
?>
<p><b>You haven't posted anything yet!</b></p>
<?php
}
?>

И это код в functions.php:

function show_posts($userid,$limit=0){
$posts = array();
$user_string ="'" .implode("','", $posts). "'";
$extra =  " and id in ($user_string)";

if ($limit > 0){
    $extra = "limit $limit";
}else{
    $extra = '';    
}

$sql = "select user_id, body, stamp from posts 
    where user_id='$user_string'
    order by stamp desc $extra";
//echo $sql;
$result = mysql_query($sql);

while($data = mysql_fetch_object($result)){
    $posts[] = array(   'stamp' => $data->stamp, 
                        'user_id' => $data->user_id, 
                        'body' => $data->body
                );
}
return $posts;

}

Ответы [ 3 ]

1 голос
/ 12 марта 2011

Окончательно создан запрос mysql вообще неверен.

echo $sql;

и вы увидите, как запрос ошибочен, вы добавляете условную часть после заказа, в которой должен быть символ whereпункт.

и $user_string вообще не заполнены.

1 голос
/ 12 марта 2011

Одна очевидная ошибка, которую я увидел:

function show_posts($userid,$limit=0){
$posts = array();
$user_string ="'" .implode("','", $posts). "'";

$ posts определен непосредственно перед тем, как вы его взорвете, поэтому он всегда будет пустым.Вы изменили эту строку?Разве это не должно быть:

implode("','", $userid);

??

Но, честно говоря.Это скорее «запрос на отладку моего кода», чем реальный вопрос.

0 голосов
/ 12 марта 2011

Похоже, у вас есть дополнительный набор одинарных кавычек в вашем имплозе, разве это не должно быть ...

$user_string ="'" .implode(",", $posts). "'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...