0

特定の用語と都市によって特定の MySQL 列のすべてのユーザーを選択するスクリプトを作成しようとしています。都市はメンバーに固有ですが、各メンバーは 3 つまたは 4 つの異なるポジション (バーテンダー、サーバー、ホストなど) を持つことができます。私が使用しようとしているコードは以下のとおりですが、エラーが発生しています。さらに情報が必要な場合はお知らせください。ありがとう!

Could not find staff: Unknown column 'Bartender' in 'where clause'

 

<?php

    $perpage = 15;
    $city = $_GET['city'];
    $type = $_GET['type'];

    if(isset($_GET["page"]))
    {
        $page = intval($_GET["page"]);
    }
    else
    {
        $page = 1;
    }

    $calc = $perpage * $page;
    $start = $calc - $perpage;
    $result = mysql_query("SELECT * FROM staff WHERE titles LIKE $type AND city=$city LIMIT $start, $perpage");
    $rows = mysql_num_rows($result);
    if($rows)
    {
        $i = 0;
        while($post = mysql_fetch_array($result))
        {
?>
            <tr style="background-color: #cccccc;">
                <td style="font-weight: bold;font-family: arial;"><?php echo $post["staffnum"]; ?> >> <?php echo $post["titles"]; ?></td>
            </tr>
            <tr>
                <td style="font-family: arial;padding-left: 20px;"><?php echo $post["abt1"]; ?></td>
            </tr>
<?php
        }
    } else {
          die('Could not find staff: ' . mysql_error());
    }
?>
4

2 に答える 2

4

LIKE必要に応じて使用するには、引用符で囲み、適切な文字を使用する必要があります%

$type = mysql_real_escape_string($_GET['type']);
// do the same with $city and any other user input

$result = mysql_query("SELECT * FROM staff WHERE titles LIKE '%" . $type . "%' AND city='" . $city . "' LIMIT $start, $perpage");
于 2012-11-23T17:37:39.453 に答える
0

試す

$type = mysql_real_escape_string($_GET['type']);
$city = mysql_real_escape_string($_GET['city']);

$result = mysql_query("SELECT * FROM staff WHERE titles LIKE '%$type%' AND city='$city' LIMIT $start, $perpage");
于 2012-11-23T18:07:01.000 に答える