【问题标题】:How can I update and insert into two different tables using php mysql database如何使用 php mysql 数据库更新并插入两个不同的表
【发布时间】:2015-10-23 13:33:44
【问题描述】:

如何使用 mysql 数据库更新特定表,并在 php 脚本中使用 echo 输出消息,同时在成功插入后通过重定向插入另一个表。 这是我尝试过但没有得到我想要的结果

<?php
$dbhost="xxxx";
$dbusr="xxxx";
$dbpass="xxxx";
$database="xxxxx";
mysql_connect($dbhost,$dbusr,$dbpass, $database);
mysql_select_db($database) or die("databse not connected");
$num = rand(98564654, 415231564); 
If(isset($_POST['login'])){
$Pin=$_GET['pin'];
$ID =$_POST['ID'];
$date=date('Y-m-d H:i:s');
if($Pin!=''){


mysql_query("UPDATE pin SET appid ='$num', status='Activated' WHERE Pin= '$Pin'")
        or die(mysql_error()); 

mysql_query("INSERT IGNORE INTO pinlog (TableName,pin,id,TIME_UPDATED) VALUES('Pin','$Pin','$num','$date')")
        or die(mysql_error()); 

header("location:applicantlogin.php");
}
}

?>  

请帮忙

【问题讨论】:

  • 下次不要在问题中输入您的数据库密码。 ^_^ 也停止使用mysql,因为它已被正式弃用。
  • 如果您指定一个问题会很有帮助。这主要是一个问答网站。
  • 每当我再次尝试激活 pin 时,脚本都会一遍又一遍地更新表格。我希望它只激活一次。如果已经激活,它应该回显已经激活。
  • 照你说的做:if (already activated in database) { echo 'already activated' } else { //update } 其中already activated in database 是一个选择查询...

标签: php mysql


【解决方案1】:

也许这会有所帮助:

首先,将PIN设置为仅在未激活时才激活:

UPDATE pin SET appid ='$num', status='Activated'
    WHERE Pin= '$Pin' AND status <> 'Activated'

然后,找出受影响的行数(有一个函数)。 如果为 0,则已经激活并退出。还要检查您的索引。

【讨论】:

    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多