我从表中获取值,更改它并更新表中的值。之后,我尝试从表中选择此值,但它给出了更新前的旧值。在phpmyadmin中,我看到该值已更改。我看不出有什么问题。
require_once('conn.php');
$query = "SELECT first FROM vote WHERE id = 1";
$result = mysqli_query($conn, $query);
$value = $result->current_field;
echo $value."<br>";
$newvalue = $value + 1;
echo $newvalue;
$sql = "UPDATE vote SET first = ".$newvalue." WHERE id = 1";
$do = mysqli_query($conn, $sql);
$conn->close();
答案 0 :(得分:1)
尝试这样做:
require_once('conn.php');
$query = "SELECT first FROM vote WHERE id = 1";
$result = mysqli_query($conn, $query);
if($result){
if($row = mysqli_fetch_assoc($result){
$value = $row['first'];
echo $value."<br>";
$newvalue = $value + 1;
echo $newvalue;
$sql = "UPDATE vote SET first = $newvalue WHERE id = 1";
$do = mysqli_query($conn, $sql);
$conn->close();
}
}
答案 1 :(得分:0)
尝试在“update”语句后添加提交。
$sql = "UPDATE vote SET first = ".$newvalue." WHERE id = 1; COMMIT;";
您可能想要创建一个提交函数。
function commit(){
return mysql_query("COMMIT", $this->connection);
}
参考:http://php.net/manual/en/function.mysql-query.php
另外,请提供有关您正在使用的mysql客户端版本的详细信息。在较新的版本中,您可以配置自动提交。