1

PDO/MySQL データベースに接続しています。私のデータベースには、さまざまなランディング ページのコンテンツが保持されています。これらのランディング ページを表示するには、*localhost/landing_page_wireframe.php*と入力し、?lps=X (X は Thread_Segment を表します) を追加して、特定のページをブラウザーに表示します。現在、これらのページの 2 回目の繰り返しに取り組んでおり、取得しようとしているバージョンを区別するために、"Thread_Segment" に続く 2 番目の分類子を追加する必要があります。これが私の現在の作業クエリのスニペットです。

   <?php
    $result = "SELECT * FROM landing_page WHERE Thread_Segment = :lps";
    $stmt = $connection->prepare($result);
    $stmt->bindParam(':lps', $_GET['lps']);
    $stmt->execute();
    $thread = "";
    $threadSegment = "";
    $version = "";
    $categoryAssociation = "";
    while($row = $stmt->fetch()) {
        $thread = $row["Thread"];
        $threadSegment = $row["Thread_Segment"];
        $version = $row["Version"];
        $categoryAssociation = $row["Category_Association"];
    }
?>

したがって、これを変更して、バージョンを区別するために二次分類子を追加する必要があります。私のクエリは次のように変わると思います:

$result = "SELECT * FROM landing_page WHERE Thread_Segment = :lps AND Version = :vrsn";

これが今のところ正しければ、私が迷い始めているのは次の PHP コードです。

    $stmt = $connection->prepare($result);
    $stmt->bindParam(':lps', $_GET['lps']);
    $stmt->execute();

二次分類子と対話するには、php にこれの二次反復を含める必要があると思いますが、これについてどうすればよいか完全にはわかりません。次に、URL の追加が?lps=Xからこのようなものになると想像します?lps=X&vrsn=Y (Y はバージョンを表します)。

私は PHP/MySql にやや慣れていないので、ここでの答えは簡単かもしれませんし、不可能かもしれないと述べておく必要があります。おそらく、私はこれについて正しい方法でさえ行っていません。皆さんは、この問題に関する私の研究を曲げるために、何らかの洞察や方向性を与えることができるかもしれないと思っていました. 私はこれらのテクノロジーにまったく慣れていないため、不適切な用語について感謝し、お詫び申し上げます。

4

2 に答える 2

1

URLの変更はご指摘の通りです。bindParamそのパラメーターを使用するには、別の呼び出しを追加するだけです。

$stmt = $connection->prepare($result);
$stmt->bindParam(':lps', $_GET['lps']);
$stmt->bindParam(':vrsn', $_GET['vrsn']);
$stmt->execute();
于 2013-09-25T17:40:28.807 に答える
1

別のものを追加すると、bindParam()ここで機能するはずです。

$stmt = $connection->prepare($result);
$stmt->bindParam(':lps', $_GET['lps']);
$stmt->bindParam(':vrsn', $_GET['vrsn']);
$stmt->execute();

経由でアクセスできます?lps=X&vrsn=Yが、警告として、これらの$_GETパラメーターが要求されていない場合、クエリは失敗します。クエリを介して送信する前に、デフォルトに設定することをお勧めします。

$stmt = $connection->prepare($result);

$lps = isset($_GET['lps']) ? $_GET['lps'] : 'default lps value';
$vrsn = isset($_GET['vrsn ']) ? $_GET['vrsn '] : 'default vrsn value';
$stmt->bindParam(':lps', $lps);
$stmt->bindParam(':vrsn', $vrsn);

$stmt->execute();
于 2013-09-25T17:40:55.503 に答える