私はphpとmysqlを使ってカテゴリナビゲーションシステムを構築しました。ページリフレッシュでスピーチマークを失う
$query = "SELECT category_name, category_desc FROM categories";
$result = mysql_query($query, $dbc)
or die (mysql_error($dbc));
while($row = mysql_fetch_array($result)) {
$catname = $row["category_name"];
$catdesc = $row["category_desc"];
echo "<li><a href='getsubs.php?category=$catname'>$catname<br /><span>$catdesc</span></a></li>";
このコードは、私のデータベースからカテゴリのリストを私に提供します。
これらのカテゴリをクリックするとgetsubs.phpファイルが要求された場合:
$category= $_GET['category'];
$query = "SELECT subcategory_name FROM subcategories WHERE subcategory_parent = '$category'";
$result = mysql_query($query, $dbc)
or die (mysql_error($dbc));
while($row = mysql_fetch_array($result)) {
$subcatname = $row["subcategory_name"];
echo "<li><a href='getsubsubs.php?category=$subcatname'>$subcatname</a></li>";
$category = mysql_real_escape_string($_GET['category']);
}
(データベース駆動型ではありません)ページの残りの部分のテキストは任意の音声マーク/引用符( ")を失います。?。どの基地レベルで存在していたいずれかが、これはあるかもしれない理由を任意のアイデアを持っています
多くのおかげで、事前に
EDIT:前と後:
「スピーチマーク」は何? 見積もり (")?同様に、あなたのコードはSQLインジェクション攻撃に対して広く開かれています...なぜあなたはループ内のカテゴリ値をエスケープしていますか?クエリは実行されたのですか? –
ええ引用(常に彼らにスピーチマークと呼ばれる)。 –
@Marc Bまだ学んでいます... mysql_real_escape_stringは$ category = $ _GET ['category']の直後に来るべきですか? ?私はそれについて少し戸惑うことが分かりました。 –