gpt4 book ai didi

php - 使用php插入mysql

转载 作者:行者123 更新时间:2023-12-01 00:46:04 25 4
gpt4 key购买 nike

我是第一次使用 php 和 mysql。目标是有一个存储电子邮件地址的表,以形成新闻通讯的邮寄列表。我的表电子邮件有 2 列 ID(INT 自动递增)和电子邮件(varchar,255)

我可以连接到数据库,但无法写入。我认为我的问题出在我的 INSERT INTO 语句的语法中。我见过很多例子,它们似乎专门围绕值使用了不同的语法。表单代码:

    <form method="post" action="email.php" class="form-container">
<div class="form-title"><h2>Sign up for my newsletter!</h2></div>
<div class="form-title">Email Address</div>
<input class="form-field" required="required" placeholder="example@mail.com" type="text" name="newEmail" /><br />
<div class="submit-container">
<input class="submit-button" type="submit" value="Submit" /></div>
</form>

php代码:

    <?php
$dbHost = "localhost";
$dbUser = "input";
$dbPass = "input";
$dbName = "MailingList";


$conn= mysqli_connect ($dbHost, $dbUser, $dbPass, $dbName);

if(mysqli_connect_errno()) {
die("FAIL:". mysqli_connect_error() . "(" . mysqli_connect_errno() . ")");
}

$addEmail = "mysqli_real_escape_string($_POST['newEmail'])";

$query ="INSERT INTO Emails (email) VALUES ('$addEmail')"

mysqli_close($conn)
?>

最佳答案

您错过了添加 $conn 即数据库链接到 mysqli_real_escape_string 并且您已经将 mysqli_real_escape_string() 包装在",所以它被认为是string。所以删除"并使用它。试试这个,

$addEmail = mysqli_real_escape_string($conn,$_POST['newEmail']);
......^
$query ="INSERT INTO Emails (email) VALUES ('$addEmail')";

代替

$addEmail = "mysqli_real_escape_string($_POST['newEmail'])";

关于php - 使用php插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21862079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com