php更新sql和查询
我想用php进行查询,在页面上输出数据,然后在数据库中修改它 我该怎么做 目前我是这样做的,但不起作用:php更新sql和查询,php,mysql,sql,Php,Mysql,Sql,我想用php进行查询,在页面上输出数据,然后在数据库中修改它 我该怎么做 目前我是这样做的,但不起作用: $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FRO
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM pics WHERE id = '$id'";
$result = $conn->query($sql);
// output data of each row
while($row = $result->fetch_assoc()) {
$dir = $row["dir"];
$likes = $row["likes"];
}
$sqlq = "UPDATE pics SET likes='$likes+1' WHERE id='$id'";
$conn->query($sqlq);
$conn->close();
但是类似的内容不会添加到数据库中。如果使用
echo $sqlq;
您将看到,“$likes+1”
并没有达到预期效果
你可以通过这样做来简化它
$sqlq = "UPDATE pics SET likes=likes+1 WHERE id='$id'";
这样就消除了两个用户同时更新数据库时互相覆盖的风险
但是,您确实应该使用“参数化查询”进行检查,因为这将解决您的所有问题(并且可能使您的查询更安全)。检查手册中的示例以何种方式失败?PHP日志中是否有任何错误?为什么不检查数据库查询中的错误?更新失败没有错误日志。一切都正常,只是当我查看数据库时,likes值没有被修改。页面上也没有修改。不客气。如果您选择了“快速修复”,请在5分钟后查看参数化查询(bind param)链接,以使代码更安全,更易于阅读/调试。