Php 如果输入值等于表中的值,则更新mysql表中的某些字段

Php 如果输入值等于表中的值,则更新mysql表中的某些字段,php,html,mysql,database,Php,Html,Mysql,Database,我目前正在尝试为私人教练创建一个仪表板,他们可以在其中更新客户记录。我有一个mySQL数据库,我使用PHP作为脚本语言 我想做什么:能够通过HTML输入框更新客户端信息。(我已经创建了)。第一个是用户名-它应该与mySQL数据库中的用户名相对应。然后,接下来三个输入框中的信息应插入数据库中的正确字段中 问题:我当前无法使SQL语句正常工作,因为无法识别客户端用户名。这是我当前收到的错误消息: 错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第1行中使用的正确语法,其中

我目前正在尝试为私人教练创建一个仪表板,他们可以在其中更新客户记录。我有一个mySQL数据库,我使用PHP作为脚本语言

我想做什么:能够通过HTML输入框更新客户端信息。(我已经创建了)。第一个是用户名-它应该与mySQL数据库中的用户名相对应。然后,接下来三个输入框中的信息应插入数据库中的正确字段中

问题:我当前无法使SQL语句正常工作,因为无法识别客户端用户名。这是我当前收到的错误消息:

错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第1行中使用的正确语法,其中Client_username=JSmith

JSMith是数据库中的有效用户名

下面是我尝试使用的PHP:

//insert

$value1 = $_POST['height1'];
$value2 = $_POST['weight1'];
$value3 = $_POST['bodyfat1'];
$value4 = $_POST['username'];

        $sql = "UPDATE client SET Height='$value1', Weight='$value2', Body_fat='$value3') WHERE Client_username = $value4";

if (!mysqli_query($con,$sql))
  {
    die('Error: ' . mysqli_error($con));
  }

mysqli_close($con);

 ?>
我的网络连接正常

如果有人能帮我,那就太好了

事情是这样的

第一个错误来自
where
子句前面的括号:

$sql = "UPDATE client SET Height='$value1', Weight='$value2', Body_fat='$value3') WHERE...
                                                                                ^ there
将其移除。

MySQL告诉你:

...right syntax to use near ') WHERE ^ 然而,我需要指出的是,您当前的代码是开放的。使用,或者,它们更安全


洞察力:

确保您的表单包含与您的帖子相匹配的名称属性,并且不包含打字错误,并且字母大小写匹配

添加到文件的顶部,这将有助于查找错误

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

SQL告诉您出了什么问题。删除括号
'$value3')
删除
Body_fat='$value3')中的两个括号
和您的问题^I同意^u(u_mulder的)只需删除这个。在评论中回答。错误消息,pffffft。我们已经停止警告人们@EdGibbs,似乎他们无论如何都不会听(或读)。
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code