PHP:如何更改 SQL 中验证的值?

标签 php mysql sql forms validation

我有这个代码

<form action="" method="POST">
PIN: 
<input type="text" name="pin"><br />
E-Mail: 
<input type="text" name="email"><br />  
<input type="submit" value="Claim" name="submit" />
</form>


<?php
if(isset($_POST["submit"])){

if(!empty($_POST['pin']) && !empty($_POST['email'])) {
$pin=$_POST['pin'];
$email=$_POST['email'];


$con=mysql_connect('localhost','root','admin') or die(mysql_error());
mysql_select_db('user_codevalidation') or die("cannot select DB");

$sql="INSERT INTO codes(email) VALUES('$email') WHERE pin='".$dbpin."'";
mysql_query($sql);
echo "Successfully claimed!";
{
while($row=mysql_fetch_assoc($query))
{
$dbpin=$row['pin'];
}

if($pin == $dbpin)
{
$sql="INSERT INTO codes(email,claimed) VALUES('$email','1') WHERE pin = $dbpin";
echo "Successfully claimed!";
}
} else {
echo "Invalid pin or it has already been claimed once!";
}

} else {
echo "All fields are required!";
}
}
?>

我希望能够验证 pin 并且如果 claimed = 0 在 $pin 行的数据库中,其中 pin 等于pin文本框$pin中的值,如果相等则执行$sql,将email中的值插入到sql中$email 这是电子邮件文本框,然后将 claimed 值更改为“1”,这在数据库中默认为 0。

我的一切正常,它显示“已成功领取!”但它不会改变我在数据库中的值。请帮忙!

编辑:我已经添加了执行 MySQL 查询,它仍然给我相同的结果!

最佳答案

没有查询执行命令mysql_query() 在查询之后添加这一行

mysql_query($sql);

关于PHP:如何更改 SQL 中验证的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31336777/

相关文章:

sql - rails 在表中添加新行

PHP PDO 缓存

php - 查询总是返回NULL

mysql - 从恢复的硬盘恢复 MySQL 数据库文件夹

mysql - 按字符串排序,中间有空格

sql - Postgresql:如何将表导出到单独的 csv 文件中

php - 如何使用ajax将值从一个php页面发布到另一个页面

php - 是否可以在 PHP 中预测 rand(0,10)?

mysql - 如何将没有每列数据的 CSV 文件导入到 mySQL 中

SQL 计算列中的值