Php mysql更新不工作。。需要更新代码的帮助吗

Php mysql更新不工作。。需要更新代码的帮助吗,php,mysqli,Php,Mysqli,我使用$\u POST to data到我的php页面来更新mysql数据库。我正在尝试使用客户id来选择行并更新公司名称和fname(firstname)。当我弄明白这一点时,我将添加要更新的其余部分。我还通过“/”输入了我尝试过的内容,谢谢 -----dbconnect----- $id= $_POST['id']; $company= $_POST['company']; $fname = $_POST['fname']; echo $id; echo $company; echo $f

我使用$\u POST to data到我的php页面来更新mysql数据库。我正在尝试使用客户id来选择行并更新公司名称和fname(firstname)。当我弄明白这一点时,我将添加要更新的其余部分。我还通过“/”输入了我尝试过的内容,谢谢

-----dbconnect-----
$id= $_POST['id'];
$company= $_POST['company'];
$fname = $_POST['fname'];

echo $id;
echo $company;
echo $fname;
//$sql = mysqli_query($con,"UPDATE customer SET company = $company WHERE id= '.$id.'")
//$sql = "UPDATE customer SET company ='".mysql_real_escape_string($_POST['company'])."WHERE id='".mysql_real_escape_string($_POST['id'])."'";
$sql = "UPDATE customer SET company = $company WHERE id= '1'";
mysqli_select_db('customer');
$retval = mysqli_query( $sql, $con );
if(! $retval )
{
die('Could not update data: ' . mysqli_error());
}
echo "Updated data successfully\n";
mysqli_close($conn);
}

在这里做一些假设,但尝试一下

// make mysqli throw exceptions on error
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// assuming your connection looks something like this
// you can pass the database name as the fourth argument instead of using select_db()
$con = new mysqli('localhost', 'user', 'pass', 'customer');

// $id = $_POST['id'], etc

// use a prepared statement with parameter placeholders.
// for more info see http://php.net/manual/mysqli.quickstart.prepared-statements.php
$stmt = $con->prepare('UPDATE customer SET company = ? WHERE id = ?');

// bind parameter variables and execute
$stmt->bind_param('si', $company, $id);
$stmt->execute();

echo 'Updated data successfully', PHP_EOL;

字符串必须用引号括起来
SET company='$company'
。请确保清理用户数据。如果公司是一个字符串,您缺少引号1lljames无法更新数据:它显示id=1,然后公司名称显示ll=然后James=fname,然后是错误您正在使用mysqli,这很好。您应该使用一个参数化的预处理语句,如
$sql=“UPDATE customer SET company=?WHERE id=?”并将您的输入值绑定到这些占位符。感谢您的帮助。我从来没有使用过事先准备好的声明,现在我有一些东西要补充到我有限的武器库中,我需要继续阅读它们。再次感谢你