2011-01-19 10 views
0

をやっていません:基本的にMysqlの「UPDATEは、」これは、更新のための私のコードで何

$key = $skills[$ind]; 
echo "\t\t<td>" . $key . "</td>\n"; 

//explode using a comma as a delimiter 
$data_n = explode(",", $word); 
$score[$key][”Rank”] = $data_n[0]; 
$score[$key][”Level”] = $data_n[1]; 
$score[$key][”Exp”] = $data_n[2]; 

echo "\t\t<td>" .$data_n[0] . "</td>\n"; 
echo "\t\t<td>" .$data_n[1] . "</td>\n"; 
echo "\t\t<td>" .$data_n[2] . "</td>\n"; 

$result = mysql_query("UPDATE accounts SET $key ='$data_n[1]' WHERE username = '$user'") 
      or 
      die(mysql_error()); 

、私は更新しようとしているものの名​​前である文字列「キー」がありますが、それは更新していないだけです。私は、「印刷」を「するmysql_query」に変更したのだが、それがなっています正確に何出力します:エラーがない

UPDATE accounts SET Total ='1144' WHERE username = 'derekboy' 

。 $ resultを出力すると、メッセージをMySQLに送信したことが "真"であることが示されます。誰もが問題を見ることができますか?私は一日を探していて、まだ何も探していないからです。

私のコードはすべてhere位置しています。ありがとう。私はスクリプトの一番上にあるデータベースに接続していることがわかります。

+0

mysql接続の設定はありますか? –

+0

MySQLクライアントで直接クエリを実行してみてください。それはそこで働くのですか? –

+0

すべてのコードをお知らせください。私はあなたがデータベースを選択したかどうかはわかりませんが、MySQLサーバに接続されているだけではありません。 –

答えて

0

私が特によくPHPを知らないが、あなたが変数が補間されていない単一引用符付きの変数を取り巻くされているようです。あなたは、MySQLに接続されているようには見えない

$result = mysql_query("UPDATE accounts SET " . $key . " ='" . $data_n[1] . "' WHERE username = '". $user" . "'") or die(mysql_error()); 
+0

MySQLは数字の周りの単一引用符を気にしない –

+0

いいえ、私はPHPとMySQLに送信された文字列でそれらの値の変数を代入を意味します。 –

+0

私はちょうどそれをチェックしましたが、どちらもうまくいきません。私は問題が何かを知りません。私が言ったように、 "mysql_query"を削除して "print"と置き換えると、SQLが必要なものが表示され、コピーしてphpMyAdminに貼り付けると正確に何をするのでしょうか。 – Derek

1

1):

のようなものを試してみてください。あなたのコードはこれに先だってmysql_connectmysql_select_dbですか?

2)が任意のエラーだかいないかどうかを確認するためにPHPMyAdminの中のクエリ(またはものは何でも使うMySQLクライアント)を実行してみてください。クエリは正常に実行されますか?

3)おそらく、テーブルに値derekboyusernameがありません。

+0

に送らなっていない理由を私は不思議 – Derek

関連する問題