テーブルのレコードの更新に問題があります。詳細は次のとおりです。
tbl_optionという名前のテーブルがあり、2つのフィールドがあります:option_name
、option_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クエリを実行する方法がわかりません。