首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP服务器和mysql表单

PHP服务器和mysql表单
EN

Stack Overflow用户
提问于 2018-05-22 04:39:26
回答 1查看 23关注 0票数 0

我不能让这个起作用。我碰到了一个路障。请有人看一下,如果你发现我遗漏了什么,请告诉我。已验证与mysql的连接是否正常。当我提交表单时,它会显示"Record inserted successfully“。但是在数据库中没有创建实际的记录。我尝试过不同的方法,但都没有成功。

代码语言:javascript
复制
<?php    
if ($_SERVER["REQUEST_METHOD"] == "POST"){

$usrID = $_POST["usrID"];
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$short_title = $_POST["short_title"];
$email = $_POST["email"];
$phone = $_POST["phone"];

$link = mysqli_connect("localhost", "username", "topsecret", "DBname");

if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

$sql = "INSERT INTO tableName (usrID, Fname, Lname, short_title, email, phone) VALUES (?, ?, ?, ?, ?, ?)";

if($stmt = mysqli_prepare($link, $sql)){
    mysqli_stmt_bind_param($stmt, "sss", $usrID, $Fname, $Lname, $short_title, $email, $phone);

    mysqli_stmt_execute($stmt);

    echo "Record inserted successfully.";
} else{
    echo "ERROR: Could not prepare query: $sql. " . mysqli_error($link);
}
mysqli_stmt_close($stmt);
mysqli_close($link);
}
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Need Help!</title>
</head>

<body>

    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
  <table align="center" width="650" border="1" cellspacing="0" cellpadding="3">
    <tbody>
        <tr>
        <td colspan="4" align="center">
          <span>Input New User Information: </span></td>
        </tr>
      <tr>
        <td colspan="4" align="center">
          <label for="usrID">User ID:</label>
          <input type="text" name="usrID" id="usrID" required></td>
        </tr>
      <tr>
          <td colspan="2"><label for="Fname">First Name: </label><input type="text" name="Fname" id="Fname" required></td>
        <td colspan="2"><label for="Lname">Last Name: </label><input type="text" name="Lname" id="Lname" required></td>
        </tr>
      <tr>
          <td colspan="2"><label for="short_title">Abreviated Title(s): </label><input type="text" name="short_title" id="short_title" placeholder="Generally goes after Last Name and a comma"></td>
        <td colspan="2"><label for="email">Agent Email: </label><input type="email" name="email" id="email"></td>        
      </tr>
      <tr>
          <td colspan="4"><label for="phone">Agent Phone: </label><input type="tel" name="phone" id="phone" placeholder="XXX.XXX.XXXX"></td>
      </tr>
      <tr>
        <td colspan="2"><input type="reset"></td>
        <td colspan="2"><input type="submit" name="submit" value="Submit"></td>
      </tr>
    </tbody>
  </table>
</form>
</body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2018-05-22 04:43:19

看起来这个纹身返回了真的:

代码语言:javascript
复制
if($stmt = mysqli_prepare($link, $sql)){

无论执行的语句返回什么,如果上述条件为真,它都会打印您的代码行:

代码语言:javascript
复制
mysqli_stmt_execute($stmt);

echo "Record inserted successfully.";

$stmt中的语句是什么?检查sql并验证其是否正确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50456332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档