Php 在一个更新查询中使用两个if(isset($\u POST)数组?
我试图从上一页的隐藏表单中获取id,并将其用作更新查询的变量 到这一点的路径是……: 登录到管理区域(使用其他表)。。。 搜索“企业”数据库中的条目。。。 条目显示有一个更新按钮,更新按钮有一个隐藏的ID…值,该值通过“提交”发布到此页面Php 在一个更新查询中使用两个if(isset($\u POST)数组?,php,mysqli,Php,Mysqli,我试图从上一页的隐藏表单中获取id,并将其用作更新查询的变量 到这一点的路径是……: 登录到管理区域(使用其他表)。。。 搜索“企业”数据库中的条目。。。 条目显示有一个更新按钮,更新按钮有一个隐藏的ID…值,该值通过“提交”发布到此页面 if(isset($\u POST[“提交”])和&isset($\u POST[“提交”])) { $id=$_POST[“id”]; $name=$_POST[“uname”]; } $query=mysqli_query($db,“更新业务集用户名=“$
if(isset($\u POST[“提交”])和&isset($\u POST[“提交”]))
{
$id=$_POST[“id”];
$name=$_POST[“uname”];
}
$query=mysqli_query($db,“更新业务集用户名=“$name”,其中id=“$id”);
如果($query)
{
$msguname=“您的用户名现在已更新。”;
}
谢谢您需要对这两个变量使用
isset()
来检查它们
if(isset($_POST['submit']) && isset($_POST["submituname"]))
如果sql查询当前易受注入攻击,请确保使用PDO或mysqli_real_escape_string()。几乎没有错误
if(isset($_POST['submit']) && ($_POST["submituname"])) {
$id = filter_input(INPUT_POST, 'id');
$name = filter_input(INPUT_POST, 'name');
$query = mysqli_query($db, "UPDATE businesses SET username='{$name}' WHERE id={$id}");
if(mysqli_affected_rows($db) === 1){
$msguname = "<p>Your username has now been updated.</p>";
}
}
if(isset($\u POST['submit'])和&($\u POST['submitname'])){
$id=过滤器输入(输入后“id”);
$name=filter_input(输入_POST,'name');
$query=mysqli_query($db,“更新业务集用户名=“{$name}”,其中id={$id}”);
if(mysqli_受影响的_行($db)==1){
$msguname=“您的用户名现在已更新。”;
}
}
if($query)不是很好的检查..而是检查mysqli_impacted_rows==1我不清楚问题出在哪里。另外,在sql命令中,单引号应该用于字符串参数,而不是双引号。单引号中的问题:谢谢Tristan。目前在本地服务器上进行的纯测试将添加mysqli_real_e_string()。感谢您的帮助,请注意。感谢Svetilo的精彩解释。不幸的是,我没有运气。我想我可能对我试图实现的目标有点模糊。这是从管理区域更新表。到这一点的路径是:登录到管理区域(使用不同的表)搜索“业务”数据库中的条目显示一个更新按钮,更新按钮有一个隐藏的ID值,该值将发布到此页面。这有帮助吗?
if(isset($_POST['submit']) && ($_POST["submituname"])) {
$id = filter_input(INPUT_POST, 'id');
$name = filter_input(INPUT_POST, 'name');
$query = mysqli_query($db, "UPDATE businesses SET username='{$name}' WHERE id={$id}");
if(mysqli_affected_rows($db) === 1){
$msguname = "<p>Your username has now been updated.</p>";
}
}