2010-12-21 22 views
0

私はこれを長年使ってきましたが、今は動作を停止しました。私はちょうどPHPがあなたに変わる理由を知りません。誰かが助けます。私の優れたPHPスクリプトはもう動作しません。

問題は、これら2つのラインである:

$res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db); 
$num = mysql_result($res,0,"num"); 

ここでは、スクリプトの残りの部分です:

<?php 
    $res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db); 
    $num = mysql_result($res,0,"num"); 
    $equals = $num + 1; 
    mysql_query("UPDATE ywsite SET num='$equals' WHERE item='sitehits'"); 
?> 
+1

あなたはどちらのエラーを得ていますか? –

+0

エラーとはなんですか? –

+0

そして、まさに問題は何ですか? –

答えて

4

数をインクリメントするかなり複雑な方法のように思えること。

UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits' 

エラーが発生した場合は、エラーmysql_errorを使用してください。エラーの原因としては、誤った表または列の名前が考えられます。

+0

私はそれがいかに簡単か信じられません。間違いなくもっと頻繁にこれを使うつもりです。ありがとう:) – yanike

4

「停止した作業」は問題の説明ではありません。何も変わりません。あなたが書いたコードが動作しなくなった場合は、それが動作しているPHPインタプリタのバージョンや、接続しているMySQLサーバなど、依存している外部のものが変更されたことを意味します。

  1. MySQLが実行されていることを確認し、接続できます。

  2. コードに実際に接続していることを確認してください。 「ここにはスクリプトの残りの部分はありますが、あなたのスクリプトにはクエリを送信する前にデータベースに接続するためのコードは含まれていません。それがすべてのコードであれば、これまでより多くのコードを削除していました。あなたのSELECTクエリがあなたのUPDATEクエリが最後にmysql_query

  3. の戻り値をチェックすることで、同じように走った

    if (!$res) die("Error in SELECT query: " . mysql_error()); 
    
  4. チェック結果を返さ

  5. チェックは、あなたが必要としません。その値に追加する現在の値を選択します。 UPDATEクエリは1つだけ発行できます。

    mysql_query("UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'") or die("Error updating: " . mysql_error()); 
    
関連する問題