php - 我如何在同一页面上有超过 1 个 MySQL UPDATE 查询?

标签 php mysql variables

我正在构建的页面有问题。 我有 2 个按钮,每个按钮的目的是更新我的 MySQL 表中的“filelocation”字段,onClick

$setloc = mysql_query("UPDATE users SET filelocation='location1' WHERE username='$username'");
$setloc2 = mysql_query("UPDATE users SET filelocation='location2' WHERE username='$username'");

以上是我将 filelocation 更新为“location1”或“location2”的查询;以下是应执行 $setloc $setloc2 onClick() 的按钮:

<div id='targetdiv'>
    <input class='destination' type='button' name='button1' onClick='<?php $setloc; ?>' value='Click here 1' /><br />
    <input class='destination' type='button' name='button2' onClick='<?php $setloc2; ?>' value='click here 2' /><br />
</div>

问题是,您不需要单击任何按钮来设置 MySQL 表的文件位置 字段。它会自动将文件位置设置为 $setloc2

我该怎么做才能让你必须点击一个按钮才能执行 $setloc 或 $setloc2;没有它自动将文件位置设置为 $setloc2。

非常感谢, 弘树

最佳答案

你做的完全错了。你的 php 在服务器上运行。您的 javascript 在客户端上运行。

基本上 PHP 输出被发送到客户端,因此运行查询,并且它们的输出(在您的情况下什么都不是)返回到您在 javascript 事件上打开的 PHP 标记上的客户端。 检查您的 HTML 源代码以了解。

我建议您阅读 HTTP 的请求/响应性质,以了解 HTTP 和桌面应用程序之间的区别。

正确的做法是:

<?php 
if ($_GET['input']==1) 
   $setloc = mysql_query("UPDATE users SET filelocation='location1' WHERE username='$username'");
elseif ($_GET['input']==2)
   $setloc2 = mysql_query("UPDATE users SET filelocation='location2' WHERE username='$username'");
else 
{
?>
<form method='get'>
<input type='submit' name='input' value='1' />
<input type='submit' name='input' value='2' />
</form>
<?php
}

关于php - 我如何在同一页面上有超过 1 个 MySQL UPDATE 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5306304/

相关文章:

mysql - mysql中所有准备好的语句(所有连接)的计数

java - 根据文件的下一行插入或更新数据库

mysql - 选择多个值并按相关性排序

javascript - 通过自定义 JS 访问 Construct 2 生成的 JavaScript

javascript - 在 JavaScript 中使用全局变量

php - Finfo_file 返回不正确的类型

javascript - Ajax 加载脚本上的 Jquery 变量作用域

php - 通过 php domdocument 解析器获取文档元素的子元素

java - 访问不同 Java 类的变量时遇到问题

PHP MySQL 使用不允许的命令