ホームページ > バックエンド開発 > PHPチュートリアル > PHPページでのパラメータの受け渡しについて質問です。アドバイスをお願いします。

PHPページでのパラメータの受け渡しについて質問です。アドバイスをお願いします。

WBOY
リリース: 2016-06-20 12:58:19
オリジナル
1056 人が閲覧しました

$query = $db->findall("p_newsclass where f_id='$_GET[cid]'");while ($row = $db->fetch_array($query)) {	$news_class_in.= $row[id].",";}echo $news_class_in=$news_class_in."$_GET[cid]";
ログイン後にコピー

ニュース一覧の表示と印刷は正しく行われます

ただし、SQL に書き込むと
$result = mysql_query("select id from p_newsbase where cid in ($news_class_in)");$total = mysql_num_rows($result);pageft($total, 20);if ($firstcount < 0)	$firstcount = 0;$query = $db->findall("p_newsbase where cid in ($news_class_in)  limit  $firstcount, $displaypg");
ログイン後にコピー


エラーが発生し、取得した cid が実際には変化します


ディスカッションへの返信 (解決策)

$news_class_in.= $row[id].",";このように結合された結果には余分なカンマが含まれますが、これは substr または rtrim で削除できます:
while ($row = $db->fetch_array($query)) {
$news_class_in.= $ row[id] .",";
}
$new_class_in = rtrim($new_class_in, ",");

echo $new_class
スクリーンショットを見ると、cid になっているはずです。 () 括弧内

の最後のカンマによって発生する SQL エラーは、URL 内の ID です $_GET[cid] を使用して取得する方法は?

URL は $_GET[cid] を使用して取得する方法ですか?




$query = $db->findall("p_newsclass where f_id='$_GET[cid]'");while ($row = $db->fetch_array($query)) {	$news_class_in.= $row[id].",";}echo  $news_class_in=$news_class_in."$_GET[cid]";
ログイン後にコピー



これは、cid を取得するための URL を直接出力します

htm で指定されたリンク以下に書かれたファイル cid

{section name=l loop=$sm_list}     <div class="listtt">      <h2><a href="list.php?cid={$sm_list[l].cid}">{$sm_list[l].cidname}</a></h2>      <span><a href="view.php?id={$sm_list[l].id}">{$sm_list[l].title}</a></span>      <div id="more">{$sm_list[l].date_time}</div>    </div>    {/section}
ログイン後にコピー

$news_class_in.= $row[id].","

このように結合した結果は余分なカンマになります。 substr を使用するか、rtrim を削除できます:
while ($row = $db->fetch_array($query)) {
$news_class_in.= $row[id].","; > $new_class_in = rtrim($new_class_in, ",");

echo $new_class
スクリーンショットを見ると、これは cid in() 括弧内の最後のカンマによって引き起こされた SQL エラーであるはずです。 🎜>

ご回答ありがとうございます。下のスクリーンショットを見てください。なぜ直接印刷すると後ろにカンマがないのでしょうか?

最後の図、間違った SQL ステートメントには余分な「,」があります。
このようにループを記述すると、最後に余分なコンマが追加されます。
$news_class_in 変数の最後に追加のカンマが追加されます。


追加:


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート