PHP-更新SQL语句mysqli数据库+变量

时间:2018-12-18 11:06:19

标签: php html mysqli

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

$name = $_REQUEST['teamname']; 
$email = $_REQUEST['email']; 
$password = (md5($_REQUEST['password'])); 

$query = "UPDATE users SET email = ?,password = ? WHERE name = ?"; 
$statemnt = $conn->prepare($query); 
$statemnt->bind_param('sss',$email,$password,$name); 
$statemnt->execute(); echo $name,$email,$password; var_dump(); 
$statemnt->close(); $conn->close(); } ?>

设法在此之前弄清楚了SELECT语句,但仍然存在UPDATE问题-此PHP代码段上方的表单,并假设填写$ email $ password和$ name

<form method="post" action="">Team Name:<br>
<input type="text" name="teamname" value="<?php echo $name;?>">
<br>Email:<br><input type="text" name="email" value="<?php echo $email;?>"> 
<br>Password:<br><input type="text" name="password" value="">
<br><br><input type="Submit" value="Update the Record" name="Submit">
</form>

编辑到以下内容(此部分上方和下方有代码不希望您希望看到我的html代码的其余部分-底部是我遇到的麻烦):SELECT STATEMENT和var_dump正常工作,但是当我输入将密码输入表单,它不会触发Submit并最终不会触发UPDATE语句-我今天再次对其进行了努力,无济于事。不确定不确定我在做什么错,请提供帮助-底部的var_dump现在正在输出所有值

<?php
if (isset($_POST['submit'])) {      
    $sql = $conn->prepare("UPDATE users SET email=? , password=? WHERE team=?");
    $postedemail=$_POST['teamemail'];
    $postedpassword= $_POST['teampassword'];
    $sql->bind_param("ssi",$postedemail,$postedpassword,$_POST["mySelect"]);    
    if($sql->execute()) {
        $success_message = "Edited Successfully";
    } else {
        $error_message = "Problem in Editing Record";
    }
    var_dump($postedpassword);
    var_dump($postedemail);

}

$stmt = $conn->prepare("SELECT team, name, email, password FROM users WHERE team = ?");
$stmt->bind_param("i", $_POST["mySelect"]);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows === 0) exit('No rows');
while($rows = $result->fetch_assoc()) {
$name = $rows['name'];
$email = $rows['email'];
$password = $rows['password'];
}

var_dump($password);
var_dump($name);
var_dump($email);
var_dump($_POST['mySelect']);
$stmt->close();
?>
<?php if(!empty($success_message)) { ?>
<div class="success message"><?php echo $success_message; ?></div>
<?php } if(!empty($error_message)) { ?>
<div class="error message"><?php echo $error_message; ?></div>
<?php } ?>
<form name="frmUser" method="post" action="">
<label>NAME:</label>
<input type="text" name="teamname" class="txtField" value="<?php echo $name?>">
<label>EMAIL:</label>
<input type="text" name="teamemail" class="txtField" value="<?php echo $email?>">
<label>PASSWORD</label>
<input type="text" name="teampassword" class="txtField" value="">
<input type="submit" name="submit" value="Submit" class="demo-form-submit">
</form>

谢谢

1 个答案:

答案 0 :(得分:0)

您在脚本开始时就有了这个:$selectedOption = $_POST["mySelect"];

在您的代码中(尤其是在您的<form></form>中),我看不到任何名为"mySelect"的输入

在您的表单中添加此字段,该问题应得到解决。

var_dump();有助于进行很多调试。