用例:创建记录
现货,代码,语言,数量
…后来发现输入的语言有误.尝试使用UPDATE查询更改语言.串联字符串仍然显示相同.串联字符串中未更改的更新语言字符串.
$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();
最终,语言已更新,但串联字符串中未更新.
解决方法:
您正在尝试绑定$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();