0

私がこれを尋ねているのは、おそらく単純な解決策があるものを求めて壁に頭をぶつけてきたからです。私の問題は、「ss&246i」のような一意の ID を含むレコードを選択しようとしていることです。ステートメントに & 記号が含まれていない場合は正常に返されますが、含まれている場合は返されません。私の問題を補完するコードは次のとおりです。

<?php
@session_start();

if (isset($_POST['code'])) {
    $id = $_POST['code'];
    $db = new PDO('mysql:host=localhost;dbname=example', 'example', '******');
    $db->exec("SET CHARACTER SET utf8");

    $sql = "SELECT * FROM tbl_human_readable WHERE unique_id = :id  LIMIT 1";
    $stmt = $db->prepare($sql);
    $stmt->bindValue(":id", $id);
    try {
        $stmt->execute();
    } catch (PDOException $e) {
        echo $e->getCode() . " - " . $e->getMessage();
    }

    $return = $stmt->fetchAll(PDO::FETCH_ASSOC);
    var_dump($return);
    if ($return) {
        $_SESSION['code'] = $id;
        echo "success"; 
    } else {
        echo "failed";
    }
} else {
    echo "failed";
}

いつものように、これに関するヘルプは非常に高く評価されています

4

1 に答える 1