让我首先说明您将看到我仍在此问题中使用一些 Mysql 代码。这只是因为我是 PDO 的新手并且为了排除故障,我想确保我的 sql 和查询正常工作,所以我使用了我所知道的。一旦我让函数工作并且脚本运行,我将转换为 PDO。
这是我的问题。我正在提交一个为用户订阅电子邮件列表(数据库)的表单。它获取他们的所有信息并将其插入数据库。到目前为止,这一切都有效。然后我的回调函数应该检查这个用户是否已经在数据库中。
我正在测试是否根据将电子邮件列设置为唯一列从数据库返回了一行。问题是即使用户已经在数据库中,sql 也会返回一行“重复条目”,因此我的代码正在读取 DUPLICATE ENTRY 行。有人可以指出我正确的方向吗?
我的 jQuery 代码...
$('#contForm').submit(function() { //contForm is the name of my form
var formData = $(this).serialize();
$.post('contact.php',formData,dispAdd); //dispAdd is the callback
function dispAdd(result) {
if (!result) {
$('#main').html('<div>Your have been added to the mailing list</div>');
} else {
if ($('#fail').length==0) {
$('#main').append('<div id="fail">This email address is already subscribed to our mailing list</div>');
}
}
}
return false;
});
我的 PHP/SQL 脚本
function dispAdd()
{
$email= $_POST['email'];
$sql= "SELECT * FROM mailList WHERE email = '$email'";
$result= mysql_query($sql) or die(mysql_error());
$rows = array();
if(mysql_num_rows($result) > 0)
{
while ( $row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}
echo json_encode( $rows );
}