0

次のコードは、ローカルホストで実行すると機能しますが、オンラインでホストするとエラーが発生します。

if(isset($_POST['congressman'])){
    $congressman = $_POST['congressman'];
    $no_of_votes = mysql_result(mysql_query("SELECT no_of_votes FROM `tbcandidates` WHERE `identification_no`=$congressman"),0) + 1;
    $query=mysql_query("UPDATE tbcandidates SET no_of_votes = '$no_of_votes' WHERE identification_no = $congressman");

この行:

no_of_votes = mysql_result(mysql_query("SELECT no_of_votes FROM `tbcandidates` WHERE `identification_no`=$congressman"),0) + 1;

mysql_result():指定された引数はなどの有効なMySQL結果リソースではありません。

4

3 に答える 3

3

ob_start()コードの先頭とob_flush()最後に追加してみてください

于 2012-09-27T05:39:41.217 に答える
0

すでに送信されたヘッダーは、header()命令を呼び出す前にすでにデータ出力があったことを意味します...

したがって、サーバーが実行を拒否しているときにローカルホストで実行されている理由を尋ねています:厳密なモードとエラー処理-Webホストサーバーでは、設定がおそらくより厳密であるため、ローカルホストのようにエラーが無視されることはありません

ヘッダーの前に作成された出力を検索して削除します。

于 2012-09-27T05:46:29.463 に答える
0

関数の前に出力を見つける必要がありheadます。これは、HTMLコンテンツ、BOMヘッド、またはその他の警告メッセージである可能性があります。

簡単な修正は、スクリプトの先頭にコードを配置することです。

<?php

if ($_POST['user']=="admin" && $_POST['pass']=="password"){
  header('Location: adminview.php');
  exit;
}
于 2012-09-27T05:46:39.663 に答える