【发布时间】:2012-06-23 18:35:16
【问题描述】:
我正在使用 PHP PDO 在表中插入和更新值。 插入工作正常。但是当我尝试更新时,什么也没有发生。 我没有错误,也没有例外。
代码是
$sql="UPDATE customers SET Name=:name,Company=:company,Address=:address,City=:city,State=:state,Country=:country,MainP=:phonem,CellP=:phonec,Email=:email,Action=:action WHERE CompanyID=:cid";
其他:
$stmt = $dbh->prepare($sql);
$stmt->bindParam(":name",$name);
$stmt->bindParam(":company",$company);
$stmt->bindParam(":cid",$customer_id);
$stmt->bindParam(":address",$address);
$stmt->bindParam(":city",$city);
$stmt->bindParam(":state",$state);
$stmt->bindParam(":country",$country);
$stmt->bindParam(":phonem",$main_num);
$stmt->bindParam(":phonec",$cell_num);
$stmt->bindParam(":email",$email);
$stmt->bindParam(":action",$action);
$stmt->execute();
echo $stmt->rowCount();
那么,是不是我做错了什么?
编辑:忘了提到我的行数为 0。我试过不带引号。还是不行
编辑:刚刚发现 customer_id 从另一个函数返回为 0。 感谢您的帮助。
【问题讨论】:
-
你有没有看是否真的有错误(执行语句的返回码),如果有错误,具体是什么? PDO::errorInfo() 在那里很有帮助。
-
是的。没有例外。如果我将 :cid 替换为一些有效的 ID,则查询有效
-
那么,您确认 $customer_id 包含正确的值了吗?如果您将 $customer_id 替换为某个有效 ID 会怎样?
-
您确定
$customer_id甚至包含一个值吗?并在您尝试访问它的那段代码中定义? -
是的。我试着回应它。它确实有一个有效值