Ошибка SQL: «Фатальная ошибка» - PullRequest
0 голосов
/ 06 января 2012

Я пытаюсь вывести данные через несколько минут через 7 дней после встречи. Я вставил следующий код только для того, чтобы получить сообщение о фатальной ошибке.

 <?php
$id = $_GET['meeting_id'];
$from = date( 'Y-m-d', strtotime( $row['date_update'] . '-7 days' ) ); 

$result = $this->db->get ('SELECT * FROM Meetings INNER JOIN Minutes ON Minutes.meeting_id = Meetings.meeting_id WHERE Rooms.date >= "' . $from . '" AND Rooms.date <= NOW() AND Minutes.meeting_id = $id')

or die(mysql_error());

if (mysql_num_rows($result) == 0) {
       echo '<h3>There Arent Any Minutes For This Meeting Yet</h3>';
    } else {

while($info = mysql_fetch_array($result))
{
        echo "<tr>";
        echo "<td><br/>" .'Title: '. $info['title']." </td>";
        echo "<td><br/><br/>" .'Subject: '. $info['subject']. "</td>";
        echo "<td><br/><br/>" .'Next Subject: '. $info['next_subject']."</td>";

        echo '<br/><br/><a href="attendees.php?meeting_id=' . $info['meeting_id'] . '" target="_blank">Attendees</a>';
        echo '&nbsp;|&nbsp;<a href="apologies.php?meeting_id=' . $info['meeting_id'] . '" target="_blank">Apologies</a>';

        }
    }
echo "</tr>";
echo "</table>";
?>

полученное сообщение об ошибке выглядит следующим образом:

Fatal error: Using $this when not in object context in E:\webareas\hj942\CW\meetings\conference\viewminutes.php on line 59

строка 59 - это запрос в $ result.

любой

Ответы [ 3 ]

1 голос
/ 06 января 2012

«$ this» используется внутри класса для ссылки на себя. Поскольку вы не находитесь внутри класса, скрипт php выдает ошибку. Вместо этого используйте mysql_query (), и, конечно, вам сначала нужно будет подключиться к вашей БД

1 голос
/ 06 января 2012

Вы используете $this->db в 5-й строке своего кода, и это не контекст объекта. Вы, вероятно, хотите использовать $db, но вам также нужно инициировать соединение с БД для переменной $db, чтобы она работала.

0 голосов
/ 06 января 2012

Сначала установите соединение MySQL:

$db = mysql_connect('db_host', 'db_user', 'db_password');

Затем используйте $db переменную с функцией mysql_query() вместо $this->db->get:

$result = mysql_query($db, 'SELECT * FROM Meetings INNER JOIN Minutes ON Minutes.meeting_id = Meetings.meeting_id WHERE Rooms.date >= "' . $from . '" AND Rooms.date <= NOW() AND Minutes.meeting_id = $id')

Или даже без переменной $db (если вы используете только одну базу данных):

$result = mysql_query('SELECT * FROM Meetings INNER JOIN Minutes ON Minutes.meeting_id = Meetings.meeting_id WHERE Rooms.date >= "' . $from . '" AND Rooms.date <= NOW() AND Minutes.meeting_id = $id')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...