Как безопасно использовать $ _GET ['id'] для получения подробностей из базы данных, выбрав строку таблицы html - PullRequest
0 голосов
/ 28 февраля 2019

Итак, у меня есть этот рабочий код, чтобы щелкнуть ссылку для отображения сведений из одной строки базы данных на другой странице во входных текстовых полях .:

    <?php
            foreach ($allCentrifuge as $list) {
                $id = $list['id'];
                ?>
                <tr>
                    <td><?php echo $list['experiment'] ?></td>
                    <td><?php echo $list['project_name'] ?></td>
                    <td><?php echo $list['project_date'] ?></td>
                    <td><a href="../Views/user_centrifuge.php?id=<?php echo $list['id']?>">Details</a></td>
                </tr>
                <?php
            }
            ?>

И эта функция позволяет получить эти сведения:

    public function fetchCentrifuge()
    {

        $uid = $_GET['id'];

        try {

            $stmt = $this->dbconn->prepare("SELECT * FROM centrifuge WHERE id = ?");
            $stmt->execute(array($uid));
            return $stmt->fetchAll();
        }

Таким образом, из всех прочитанных тем очевидно, что это опасно для SQL-инъекций.Но как мне использовать этот код с подготовленными утверждениями?Я не могу заставить его работать с идентификатором-заполнителем.

1 Ответ

0 голосов
/ 28 февраля 2019

Хорошо выглядит как есть.Вы могли бы дополнительно привести ваш входной var к INT.

(int)$_GET['id'] or intval($_GET['id'])
...