0

テーブルのレコードの更新に問題があります。詳細は次のとおりです。

tbl_optionという名前のテーブルがあり、2つのフィールドがあります:option_nameoption_value。現在のテーブルレコードは次のとおりです。

option_name | option_value
site_name   | MySite
site_desc   | About anything

site_nameとsite_descoption_valueの両方を更新したいのですが、これがとoption_valueを更新するためのphpスクリプトsite_nameですsite_desc

require "include/config.php";
$name = "MyNewSitess";
$desc = "About Computer";

$query = mysql_query("UPDATE tbl_option SET option_value='$name' WHEREoption_name='site_name';# UPDATE tbl_option SET option_value='$desc' WHERE option_name='site_desc'");

if ($query) { echo "Saved"; }
else echo "Not saved : ".mysql_errno()." | ".mysql_error();

実行後、次のエラーが発生します。

保存されていません:1064 | SQL構文にエラーがあります。1行目の'UPDATEtbl_option SET option_value ='About Computer'WHERE option_name ='site_desc'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

レコードは更新されていません。しかし、2番目のUPDATEクエリの前に(#)を追加すると:

<?php
...
$query = mysql_query("UPDATE tbl_option SET option_value='$name' WHERE option_name='site_name'; #UPDATE tbl_option SET option_value='$desc' WHERE option_name='site_desc'");
...
?>

エラーは表示されません。私は次のようになります:

保存しました

レコードが更新されます

何が問題ですか ?

はい、WordPressテーブルの概念を模倣していますが、テーブルに対してUPDATEクエリを実行する方法がわかりません。

4

1 に答える 1

2

から変更する

$query = mysql_query("UPDATE tbl_option SET option_value='$name' WHEREoption_name='site_name';# UPDATE tbl_option SET option_value='$desc' WHERE option_name='site_desc'");

$query = mysql_query("UPDATE tbl_option SET option_value='$name' WHERE option_name='site_name'"); 

if($query) $query = mysql_query("UPDATE tbl_option SET option_value='$desc' WHERE option_name='site_desc'");

ただし、これがWordPressの更新である場合は、この質問をここに投稿することをお勧めします。あなたはただより良い解決策を得るかもしれません:-)

これを1回だけ実行する場合の別のオプションは、コンソールまたはPhpMyAdminという名前の一般的なツールを直接実行して更新を実行することです。

于 2012-12-31T10:25:16.017 に答える