如何在mysql_query()函数中执行多个MySQL查询?

时间:2012-12-31 07:27:24

标签: php mysql

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

我有一个名为tbl_option的表,它有2个字段:option_nameoption_value。目前的表记录如下:

option_name | option_value
site_name   | MySite
site_desc   | About anything

我想更新site_name和site_desc option_value,这是我的php脚本,用于更新site_namesite_desc option_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服务器版本对应的手册,以便在'UPDATE tbl_option SET option_value ='附近使用正确的语法关于计算机'WHERE option_name ='site_desc'在第1行

记录未更新。但是当我在第二个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查询。

1 个答案:

答案 0 :(得分: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更新,那么最好发布此问题here。你可能只是得到一个更好的解决方案: - )

如果您只执行一次此操作,则另一个选项是直接使用控制台或名为PhpMyAdmin的常用工具来执行更新。