MySQL更新电子邮件地址并为其分配IP地址

时间:2018-09-12 09:48:24

标签: php mysql

我目前正在从事一个将向用户销售产品的项目,结帐完成后,用户将输入一个电子邮件地址。我一直在尝试(但到目前为止无济于事)使用MySQL将这些数据放入数据库中。仅以某种方式。我需要输入数据以使用UPDATE方法放入已经存在的行中。该行应符合以下条件。它不应该已经被使用过,数据库中不应该存在该电子邮件。我尝试了很多不同的MySQL,从语法错误到更新表中的每条记录,我都得到了各种各样的支持,但到目前为止,我只更新了一个记录,但没有检查它是否已经存在。我希望对自己的进步有所了解! 代码如下:

<?php
$servername = "localhost";
$username = "Josh";
$password = "10584066";
$dbname = "customers";
// Get email address from input form
$Email = $_GET['keyword'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "UPDATE list SET Email='$Email' , In_Use='1' WHERE In_Use='0' LIMIT 1";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
	header('Location: /liteservers/logon/wood.php'); 
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?> 

因此,如您所见。该代码几乎按预期工作,我只希望它还检查是否已在数据库中查找该电子邮件,如果已存在,则也许要增加它尝试在已找到的同一行中记录新电子邮件的时间现有电子邮件。我希望如果您需要我没有提供的更多信息,这确实有意义,请告诉我!

1 个答案:

答案 0 :(得分:0)

使用INSERT ON DUPLICATE KEY UPDATE语法,mysql_affected_rows会告诉您是否插入并更新。