Member 13978379 Ответов: 1

У вас есть ошибка в синтаксисе SQL проверьте руководство, которое соответствует вашей версии сервера mariadb для правильного синтаксиса для использования рядом "в строке 7


You have an error in your sql syntax check the manual that corresponds to your MariaDB server version for the right syntax to use near "at line 7


Я создаю сайт для публикации статьи и после составления статьи в попытке опубликовать и просмотреть я столкнулся с ошибкой выше

Что я уже пробовал:

<pre>Cms_review_article.php

<?php
require 'db.inc.php';
require 'cms_output_functions.inc.php';
include 'cms_header.inc.php';

$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or
die ('Unable to connect. Check your connection parameters.');

mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));

$article_id = (isset($_GET['article_id']) && ctype_digit($_GET['article_id'])) ? $_GET['article_id'] : '';

echo '<h2> Article Review </h2>';
output_story($db, $article_id);

$sql = 'SELECT
is_published, UNIX_TIMESTAMP(publish_date) AS publish_date,
access_level
FROM
cms_articles a INNER JOIN cms_users u ON a.user_id = u.user_id
WHERE
article_id = ' . $article_id;
$result = mysql_query($sql, $db) or die(mysql_error());

$row = mysql_fetch_array($result);
extract($row);
mysql_free_result($result);

if (!empty($date_published) and $is_published) {
    echo '<h4> Published: ' . date('l F j, Y H:i', $date_published) . ' </h4> ';
}
?>
<form method="post" action="cms_transact_article.php">
<div>
<input type="submit" name="action" value="Edit"/>
<?php
if ($access_level > 1 || $_SESSION['access_level'] > 1) {
if ($is_published) {
echo ' <input type="submit" name="action" value="Retract"/> ';
} else {
echo ' <input type="submit" name="action" value="Publish"/> ';
echo '<input type="submit" name="action" value="Delete"/> ';
}
}
?>
<input type="hidden" name="article_id" value=" <?php echo $article_id; ?> "/>
</div>
</form>
<?php
include 'cms_footer.inc.php';
?>

Richard MacCutchan

Каков текст инструкции SQL, которая вызывает ошибку?

ZurdoDev

Это очень просто исправить. Делайте то, что подсказывает вам ошибка.

1 Ответов

Рейтинг:
0

Bryian Tan

Судя по сообщению об ошибке, очень вероятно, что $article_id быть пустой. вы можете проверить это, заменив $article_id с целым числом и снова запустите приложение.

Ваш код может быть уязвим для SQL-инъекций. Здесь вы можете прочитать больше об уязвимости SQL-инъекции.
SQL-инъекции и межсайтовые Скрипты[^]


Maciej Los

5ed!

Bryian Tan

спасибо :)