- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
第一个 mysql 语句看起来不错,但不会运行:
声明:
$sql = "UPDATE ('bands') SET ('Stock' = 'Stock' - 1) WHERE ('Band_id' = '$Band_id')";
我还希望将这个语句和这个语句一起运行:
$sql = "INSERT INTO orders (band_id,user_id,user_name,band_name,band_venue) VALUES('$band_id', '$user_id', '$user_name', '$name', '$venue')";
我知道我需要在事务中执行此操作,但我用谷歌搜索了它,但不明白如何执行此操作。
完整代码
<?php
require 'core/init.php';
$user = new User();
$Band_id = mysql_real_escape_string($_GET['id']);
$band_id = mysql_real_escape_string($_POST['band']);
$name = mysql_real_escape_string($_POST['bandname']);
$venue = mysql_real_escape_string($_POST['bandvenue']);
$user_id = escape($user->data()->id);
$user_name = escape($user->data()->username);
$sql = "INSERT INTO orders (band_id,user_id,user_name,band_name,band_venue) VALUES('$band_id', '$user_id', '$user_name', '$name', '$venue')";
//$sql = "UPDATE ('bands') SET ('Stock' = 'Stock' - 1) WHERE ('Band_id' = '$Band_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
最佳答案
更改为
'UPDATE `bands` SET `Stock` = (`Stock` - 1) WHERE `Band_id` = ' . $Band_id . ')';
如果您使用PDO (你可能应该如此),这就是你所需要的:
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec('UPDATE `bands` SET `Stock` = (`Stock` - 1) WHERE `Band_id` = ' . $Band_id . ')');
$dbh->exec('INSERT INTO `orders` (`band_id`, `user_id`, `user_name`, `band_name`, `band_venue`) VALUES("'.$band_id.'", "'.$user_id.'", "'.$user_name.'", "'.$name.'", "'.$venue.'")');
$dbh->commit();
您可以使用 prepared statements 进一步改进
关于php - 更新语句不起作用,以及如何将两个语句包装在一个 mysql 查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21246948/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!