MySQL / PHP错误:使用撇号(')输入值

时间:2016-07-04 08:19:39

标签: php mysql sql

所以我在我的程序中有这个特殊的功能,我想让它计算所有商城的价值= 2罗宾逊的马尼拉。但是,由于程序将撇号视为文本的结束标记,因此存在错误。

这是我特定功能的代码:

 <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="GET">
        <select name="formStats">
            <option value="Rob">Robinson's Manila Stores</option>
            <option value="MoA">Mall of Asia Stores</option>
            <option value="GG">Greenbelt/Glorietta Stores</option>
        </select> 

        <input type="submit" name="formSubmit" value="Submit"/>
    </form>

    switch ($varStats)
    {   
        case "Rob": $show = "Mall = '2 Robinson's Manila'"; break;
        case "MoA": $show = "Mall = '3 Mall of Asia'"; break;
        case "GG": $show = "Mall = '1 Glorietta/Greenbelt Complex '"; break;
    }

我想我需要使用`标记,但我不确定具有确切的语法。

2 个答案:

答案 0 :(得分:1)

问题是在切换案例中分配给$ show变量的撇号“Robinson's”。你应该逃避它写“罗宾逊的”

答案 1 :(得分:1)

您可以使用mysqli_real_escape_string()函数来转义字符串中的特殊字符,以便在SQL语句中使用。