Problema query here
Inviato: 16/07/2013, 17:31
Salve... ho istallato una chat (mod) e volevo modificarla affinchè tramite un id nel link potessi cambiare stanza di cht.
Cioè la chat è in chat.php e vorrei poter cambiare stanza chat.php?stanza=1 o chat.php?stanza=1
La chat aveva già di predefinito una colonna nella tabella in cui agisce chiamata chat_id.
La query di scrittura messaggi l'ho modificata e funziona, ma la query di lettura non riesce a leggere le variabili:
a inizio pagina ho scritto:
questa la query di lettura:
Come vedete ho creato il "where" che estrae solo i messaggi che hanno come chat_id quella nel get, ma quando provo mi da questo errore sql:
ho provato allora a mettere le virgolette:
e mi da errore php:
la riga 58 è quella della query.
Come potrei risolvere questo problema???
Grazie in anticipo
Cioè la chat è in chat.php e vorrei poter cambiare stanza chat.php?stanza=1 o chat.php?stanza=1
La chat aveva già di predefinito una colonna nella tabella in cui agisce chiamata chat_id.
La query di scrittura messaggi l'ho modificata e funziona, ma la query di lettura non riesce a leggere le variabili:
a inizio pagina ho scritto:
Codice: Seleziona tutto
<?php $stanza = $_GET ["stanza"]; ?>
Codice: Seleziona tutto
$sql = 'SELECT * FROM ' . CHAT_TABLE . ' WHERE chat_id = $stanza ORDER BY message_id DESC';
$result = $db->sql_query_limit($sql, 25);
$rows = $db->sql_fetchrowset($result);
foreach ($rows as $row)
{
if ($count++ == 0)
{
$last_id = $row['message_id'];
}
$template->assign_block_vars('chatrow', array(
'MESSAGE_ID' => $row['message_id'],
'USERNAME_FULL' => clean_username(get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $user->lang['GUEST'])),
'MESSAGE' => generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']),
'TIME' => $user->format_date($row['time']),
'CLASS' => ($row['message_id'] % 2) ? 1 : 2,
));
}
$db->sql_freeresult($result);
Codice: Seleziona tutto
SQL ERROR [ mysql4 ]
Unknown column '$stanza' in 'where clause' [1054]
SQL
SELECT * FROM avphpbb_chat WHERE chat_id = $stanza ORDER BY message_id DESC LIMIT 25
Codice: Seleziona tutto
$sql = 'SELECT * FROM ' . CHAT_TABLE . ' WHERE chat_id = '$stanza' ORDER BY message_id DESC';
$result = $db->sql_query_limit($sql, 25);
$rows = $db->sql_fetchrowset($result);
foreach ($rows as $row)
{
if ($count++ == 0)
{
$last_id = $row['message_id'];
}
$template->assign_block_vars('chatrow', array(
'MESSAGE_ID' => $row['message_id'],
'USERNAME_FULL' => clean_username(get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $user->lang['GUEST'])),
'MESSAGE' => generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']),
'TIME' => $user->format_date($row['time']),
'CLASS' => ($row['message_id'] % 2) ? 1 : 2,
));
}
$db->sql_freeresult($result);
Codice: Seleziona tutto
Parse error: syntax error, unexpected T_VARIABLE in /membri/nightassassin/chat.php on line 58
Come potrei risolvere questo problema???
Grazie in anticipo