【发布时间】:2017-01-03 23:19:35
【问题描述】:
我使用 MySQL 和 PHP 编写了以下事务代码。在第一个黄色块中的代码中,我将字符串值分配给 php 变量 $b。我想在第二个黄色块 MySQL 事务语句中使用这个值。
我喜欢将 $b 与从 sale no row 7 获得的 MySQL 变量 @A 组合/连接。假设 MySQL 变量 @A 给出一个值“try this”,然后我想为 saledesc 插入“try this my add” saleno 第 10 行的字段,如第二个黄线块 $conn->query("INSERT INTO sales(saleno,saledesc) VALUES('10',@A$b)");
但是上面的插入失败了。执行此操作的正确语句语法/方式是什么。我的代码如下:
$b = "我的添加";
$sqlstat = "SELECT @A:=saledesc FROM sales WHERE saleno='7'";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Transaction Start
$conn->beginTransaction();
$conn->query("$sqlstat");
$conn->query("插入销售(saleno,saledesc) VALUES('10',@A$b)");
$conn->commit();
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
$conn->rollback();
}
$conn = null;
【问题讨论】:
标签: php mysql pdo transactions