Php Can';无法更新数据库

Php Can';无法更新数据库,php,mysqli,Php,Mysqli,让我试着解释一下这里发生了什么。这是一个成员区域,单击按钮时,将调用此脚本。理想情况下,它减去项目的成本(点数),并使用新的points变量更新数据库 脚本: <?php session_start(); if ($_SESSION['email']) { $dbemail=$_SESSION['email']; //connecting here // Check connection if (mysqli_connect_errno()) {

让我试着解释一下这里发生了什么。这是一个成员区域,单击按钮时,将调用此脚本。理想情况下,它减去项目的成本(点数),并使用新的points变量更新数据库

脚本:

<?php
session_start();
if ($_SESSION['email'])
{
    $dbemail=$_SESSION['email'];

//connecting here
    // Check connection
    if (mysqli_connect_errno())
    {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $result = mysqli_query($con,"SELECT * FROM tsfs_members WHERE email = '$dbemail'");
    $row = mysqli_fetch_array($result);

//putting rows into variables to make calling them easier
    $id = $row["id"];
    $firstname = $row["firstname"];
    $lastname = $row["lastname"];
    $email = $row["email"];
    $streetaddress = $row["streetaddress"];
    $city = $row["city"];
    $state = $row["state"];
    $zip = $row["zip"];
    $points = $row["points"];
    $date = $row["date"];

$newpoints = $points - '75';

$sql = "UPDATE tsfs_members SET points='50' WHERE id=?";

    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param('s',$id);
    $stmt->execute();       

    echo "Thanks! Your have" . $newpoints . "left in your account";
   }
   else 
{
  echo "<div style='text-align:center; color:#ff0000; font-size:200%; margin-top:40px; font-weight:bold;'>You must be a registered user!</div>";
}

?>
另一个包含:

mysqli_query($con,"UPDATE feedback SET approved=1 WHERE approved='0'");
所以对这一个也要这样做

例如:

$stmt = $con->prepare($sql);
而不是:

$stmt = $mysqli->prepare($sql);
由于您已在中使用
$con
传递DB连接:

$result = mysqli_query($con,"SELECT...


$mysqli
未定义,这就是您的
非对象
错误的来源。

$mysqli
不存在。为什么您认为这会起作用?您是否创建了
$mysqli
对象?这看起来像
$stmt=$con->prepare($sql)而非
$stmt=$mysqli->prepare($sql)
假设您在使用
$result=mysqli_查询($con)后已经建立了DB连接,请选择…
您的包含
mysqli_查询($con,“UPDATE feedback SET approved=1 WHERE approved='0');
因此,请对该查询执行相同的操作。