我的表名为servicii,有3个变量:id,nume,pret。 我有这个代码,但不起作用。 谢谢。
if(isset($_POST['btnUpdate2']))
{
$stmt = $conn->prepare("UPDATE servicii SET nume =?, pret=? WHERE id=?");
$nume = $_POST['txtNume'];
$pret = $_POST['txtCantitate'];
$id = $_POST['selectProd'];
$stmt->bind_param("iii", $nume, $pret, $id);
$stmt->execute();
$stmt->close();
$_SESSION['msg'] = "Product successfuly updated!";
}
答案 0 :(得分:0)
尝试echo
error
试试这个
if ($stmt->execute()) {
$_SESSION['msg'] = "Product successfuly updated!";
} else {
$_SESSION['error'] = "Product not updated!";
}
或者如果您想知道error
使用此
if(!$stmt->execute()) echo $stmt->error;
答案 1 :(得分:0)
使用此
if(isset($_POST['btnUpdate2']))
{
$stmt = $conn->prepare("UPDATE servicii SET nume =?, pret=? WHERE id=?");
$nume = $_POST['txtNume'];
$pret = $_POST['txtCantitate'];
$id = $_POST['selectProd'];
$stmt->bind_param("ssi", $nume, $pret, $id);
$stmt->execute();
$stmt->close();
$_SESSION['msg'] = "Product successfuly updated!";
}
假设$ nume& $ pret变量包含字符串。
然后将$stmt->bind_param("ssi", $nume, $pret, $id);
此行更改为$stmt->bind_param("sdi", $nume, $pret, $id);
答案 2 :(得分:0)
绑定参数时,i
代表整数。这是您对数据库的查询无效的原因之一。
如果要解决此问题,您需要将绑定中的iii
更改为ssi
。 (这当然假设前两个参数(?)是字符串......
$stmt = $conn->prepare("UPDATE servicii SET nume = ?, pret= ? WHERE id = ?");
$stmt->bind_param("ssi", $nume, $pret, $id); // ssi
if($stmt->execute()){
echo "Success!";
} else {
echo 'Failed.';
}
以下是参数类型列表供将来参考:
i
适用于整数s
用于字符串。即:" John Doe" d
用于双重b
适用于blob。您可以在 php.net 网站上找到更多信息!