1

編集:修正されました!ご協力ありがとうございました!

初心者の質問で申し訳ありませんが、チームの Web サイト用に別のページを編集するための簡単なページを作成しています。

これは私が使用しているコードですが、データベースを更新していません。

間違ったコード:

mysql_query("UPDATE pages SET `pagename` = $pagename, `pagedesc` = $pagedesc, 
`agekey` = $pagekey, `pagecont` = $pagecont WHERE `pages_id` = $pages_id") or die(mysql_error());

正しいコード:

mysql_query("UPDATE pages SET pagename = '$pagename', pagedesc = '$pagedesc', pagekey = '$pagekey', pagecont = '$pagecont' WHERE pages_id = $pages_id") or die(mysql_error());

`` を使用してもまったく機能しませんでした。しかし、追加または死ぬ(mysql_error()); 私のクエリに役立ちました。最初に考えるべきだった!:)

4

6 に答える 6

2

あなたのmysqlクエリはそうあるべきではありませんか

mysql_query("UPDATE pages SET pagename = '$pagename', pagedesc = '$pagedesc', pagekey = '$pagekey', pagecont = '$pagecont' WHERE pages_id = $pages_id");

それ以外の

mysql_query("UPDATE pages SET 'pagename' = $pagename, 'pagedesc' = $pagedesc, 'pagekey' = $pagekey, 'pagecont' = $pagecont, WHERE 'pages_id' = $pages_id");

フィールド名に ' (シングル クォーテーション) を使用していました。データが varchar 型の場合、一重引用符が使用されます

たとえば、テーブルに myField02 varchar2(20) のフィールドがある場合、クエリの挿入中に

INSERT INTO myTable values ('myValue');

フィールドが varchar でない場合は、一重引用符を使用しないでください

INSERT INTO myTable values (myValue);
于 2012-05-17T08:37:18.233 に答える
1

これをmysql_queryがある行に追加します。

mysql_query("<QUERY GOES HERE>") or die(mysql_error());

これにより、クエリの正確なエラーが表示されます。

于 2012-05-17T08:32:32.057 に答える
1

SQL ステートメントに余分な「,」があります。

agecont, WHERE
于 2012-05-17T08:31:11.560 に答える
0

問題は、クエリが実際に成功したかどうかをチェックしていないことです。編集:あなたはこれを手に入れたと思います。

SQLクエリにはいくつかの構文エラーがあります。

例えば

// Your code
UPDATE pages SET 'pagename' = $pagename

// How SQL expects
UPDATE pages SET pagename = '$pagename'

入れたい変数の周りにのみ一重引用符があることに注意してください。

SQLクエリを書き直します。

mysql_query("UPDATE pages 
             SET pagename = '{$pagename}',
                 pagedesc = '{$pagedesc}',
                 agekey   = '{$pagekey}',
                 pagecont = '{$pagecont}' 
             WHERE pages_id = '{$pages_id}'") or die(mysql_error());

列名の周囲には`または'がなく、更新の実行に使用している変数のみであることに注意してください。

編集:彼のエラーがどこにあるかをopに表示するように回答が更新されました

于 2012-05-17T08:36:44.673 に答える
0

クエリには、フィールド名commaに使用した場所と2番目の2つのエラーがあります。single quotesフィールド名には一重引用符の代わりにバックティックを使用してください。このクエリを使用します。また、SQLインジェクションにも注意してください。使用するmysql_real_escape_string().

mysql_query("UPDATE pages SET `pagename` = $pagename, `pagedesc` = $pagedesc, 
`agekey` = $pagekey, `pagecont` = $pagecont WHERE `pages_id` = $pages_id");
于 2012-05-17T08:41:26.720 に答える
0

mysql_query("UPDATE pages SET pagename= ' pagedesc$pagename', = '$pagedesc', pagekey= '$pagekey', pagecont= '$pagecont' WHERE pages_id= $pages_id");

フィールドで ' の代わりに '(アクセント) を使用し、どこの前に余分な ,(カンマ) があります

于 2012-05-17T08:38:53.677 に答える