ホームページ >バックエンド開発 >PHPチュートリアル >初心者が機能について質問がある

初心者が機能について質問がある

WBOY
WBOYオリジナル
2016-06-13 13:51:43898ブラウズ

初心者が function
function del_news($nid)
{
$selnews_str = "select n_class,n_image,n_pname,n_path from news where n_id=".$nid;
$selnews_result について質問しています。 = mysql_query($selnews_str,$con);
$selnews_row = mysql_fetch_array($selnews_result);
$class = $selnews_row["n_class"];

if($selnews_row)

echo("コンテンツあり");
}
else
{
echo("コンテンツなし");
}

if($_GET[" nid"] != null || $_GET["nid"] != "")
{
del_news($_GET["nid "]);
}

上記コードを del_news の外に置くと、内容が表示されます。関数内に入れて呼び出すと、内容は表示されません。パラメータは正しくありません。その理由は何でしょうか?


-----解決策---------

PHP コード 関数 del_news($nid) { ​ } $selnews_str = "n_id=".$nid; のニュースから n_class、n_image、n_pname、n_path を選択します。 $selnews_result = mysql_query($selnews_str,$con); $selnews_row = mysql_fetch_array($selnews_result); $class = $selnews_row["n_class"]; if($selnews_row) { echo("コンテンツがあります"); } それ以外 { echo("コンテンツがありません"); } エコー($nid); if($_GET["nid"] != null || $_GET["nid"] != "") { del_news($_GET["nid"]); }

------解決策---------
<br>エラーメッセージは何ですか? <font color="#e78608"></font>推測: <br> 関数のスコープの問題である可能性があります。 データベース接続ハンドルはグローバルです。関数でのデータの操作はデータベースに接続されていないとみなされます。
<br><br>------解決策----------------------<br><br>$selnews_result = mysql_query($selnews_str,$con ) ;<font color="#e78608">ここの $conn はローカル変数です</font>グローバルは宣言されていません。 <br>これが理由かもしれません。 <br>関数内にデータベース接続ハンドルを追加してみてください。 <br>
<br><br>------解決策----------------------<br><br>$selnews_result = mysql_query($selnews_str);
<font color="#e78608"></font>-----解決策---------<br><br>実行命令! 関数に入れる場合はどうやって呼び出すのでしょうか?
<font color="#e78608"></font>-----解決策---------<br><br>解決できます。 それができるモデレーターもいます。 <font color="#e78608"></font>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。