Php 如何在mysql查询中绑定参数?

Php 如何在mysql查询中绑定参数?,php,Php,我已经搜索了绑定参数。但这让我很困惑。我是php和mysql的初学者 以下是代码: $query ="UPDATE table_user_skills SET rating='" . $_POST["rating"] . "' where rating_id='".$_POST['id']."'"; $result = $conn->query($query); 我想知道如何在这个示例查询中应用bind parameters方法。谢谢你的回复 谢谢你的回复。我的代码有效 update.

我已经搜索了绑定参数。但这让我很困惑。我是php和mysql的初学者

以下是代码:

$query ="UPDATE table_user_skills SET rating='" . $_POST["rating"] . "' where rating_id='".$_POST['id']."'";

$result = $conn->query($query);
我想知道如何在这个示例查询中应用bind parameters方法。谢谢你的回复

谢谢你的回复。我的代码有效

update.php

$sql = "UPDATE table_user_skills SET rating=? WHERE rating_id=?";

$stmt = $conn->prepare($sql);

$stmt->bind_param('sd', $myrate, $myrateid);
$stmt->execute();

if ($stmt->errno) {
  echo "Error" . $stmt->error;
}
else print 'Your rate is accepted.';

$stmt->close();

编写查询时,请将值(POST变量)保留在SQL代码之外,并使用占位符代替它们。根据您在PHP中使用的与MySQL数据库对话的接口(有和),您可以使用命名或未命名的占位符代替它们

下面是一个使用PDO的示例 我们在这里所做的是将SQL代码发送到MySQL(使用该方法)以获取一个对象(在上面的示例中由
$stmt
表示)。然后,我们可以使用单独的路径将数据(您的
$\u POST
变量)发送到MySQL。请注意,SQL查询中的占位符是如何按照您期望的
$\u POST
变量命名的。因此,通过这种方式,SQL代码永远不会与数据相混淆,并且不会发生错误


有关使用的详细信息,请参阅手册。

您没有任何要绑定的参数!?!!!-RT?M或者你有没有看过准备好的声明?尝试将其转换为准备好的语句,然后返回,我们将解决遗留的小问题。这是使用
mysqli\uucode>还是
PDO
扩展名?&&&。在每一个例子中都有一堆…可能重复的ops说它们是xD(以防万一你想更新你的答案)@FirstOne我们可以放他走,他在ops说mysqli:Pthank之前就这么做了。。我应该如何将$u post中的值传递给查询中的:rating?@SeulgiBear,这里有很多教程。你能花点时间来研究它们,然后带着一个更具体的问题回来吗?@SeulgiBear这些例子足以说明发生了什么以及如何进行。
$query = "UPDATE table_user_skills SET rating= :ratings where rating_id= :id";
$stmt = $conn->prepare($query);
$stmt->execute($_POST);