0

好的,所以对于我的应用程序,我使用 php 的 pdo 和 mysql,我在数据库中有这个:

"Tiny & Big: Grandpa's Leftovers" - 75% off

现在由于某种原因,其中的引号不会让我将其回显到表单字段进行编辑,它适用于任何没有引号的条目。

现在我检查了我的查询输出,它清楚地给了我选择:

[info] => "Tiny & Big: Grandpa's Leftovers" - 75% off

所以我在徘徊为什么它不能使用它?

我使用这个小功能获取数据:

    public function fetch()
{
    $this->STH->setFetchMode(PDO::FETCH_ASSOC); 
    return $this->STH->fetch();
}

以及实际的查询功能:

    // the main sql query function
public function sqlquery($sql, $objects = array())
{
    global $core;

    try
    {
        $this->STH = $this->database->prepare($sql);

        foreach($objects as $k=>$p)
        {
            // +1 is needed as arrays start at 0 where as ? placeholders start at 1 in PDO
            if(is_numeric($p))
            {
                $this->STH->bindValue($k+1, (int)$p, PDO::PARAM_INT);
            }
            else
            {
                $this->STH->bindValue($k+1, $p, PDO::PARAM_STR);
            }
        }

        return $this->STH->execute();
    }

    catch (Exception $e)
    {
        $core->message($e->getMessage());
    }

    $this->counter++;

    $this->queries .= "<br />$sql";
}
4

1 回答 1

3

“用于编辑的表单字段”是对我的提示,您正在执行以下操作:

<input value="<?php echo $row['info']; ?>">

由于该领域的报价,这不会很好地工作info。它输出value="". 用于htmlspecialchars($row['info'], ENT_QUOTES)正确转义 html 中发射的引号。

于 2013-03-17T20:37:18.637 回答