0

我在更新表上的记录时遇到问题。以下是详细信息:

我有一个名为 tbl_option 的表,它有 2 个字段 : option_name, option_value. 当前表记录如下:

option_name | option_value
site_name   | MySite
site_desc   | About anything

我想同时更新 site_name 和 site_desc option_value,这是我的 php 脚本来更新site_namesite_descoption_value:

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 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'UPDATE tbl_option SET option_value='About Computer' WHERE option_name='site_desc' 附近使用正确的语法

记录未更新。但是当我在第二个 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 更新,那么您最好在此处发布此问题。你可能会得到一个更好的解决方案:-)

如果您只执行一次此操作,另一种选择是直接使用控制台或名为 PhpMyAdmin 的流行工具进行更新。

于 2012-12-31T10:25:16.017 回答