用例:创建了一条记录 现货,代码,语言,计数 ......后来发现输入的语言错了。尝试使用UPDATE查询更改语言。连接字符串仍然显示相同。更新的语言字符串未在连接字符串中更改。
使用此MySql查询创建记录
$sql = "INSERT INTO library (spot,code,language,count,litcode) values(?,?,?,?,CONCAT(language,'-',code))";
尝试使用此MySql查询更新语言
Database::connect(); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE literatures set spot = ?, code = ?,language = ?, count =?, litcode = CONCAT(language,'-',code) WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($spot,$code,$language,$count,$litcode,$id));
Database::disconnect();
最后语言已更新,但未在连接字符串中更新。
UPDATE查询中的任何错误?
答案 0 :(得分:3)
您正在尝试绑定$litcode
,但您有CONCAT(language,'-',code)
。您的查询中有5个?
,但您正在尝试绑定6个参数。
将您的代码更改为:
Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE literatures set spot = ?, code = ?, language = ?, count = ?, litcode = ? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($spot,$code,$language,$count,$litcode,$id));
Database::disconnect();