Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用GN mysql和php将唯一id发送到数据库_Php_Mysql - Fatal编程技术网

如何使用GN mysql和php将唯一id发送到数据库

如何使用GN mysql和php将唯一id发送到数据库,php,mysql,Php,Mysql,我创建了一个申请表,它没有申请字段。但它应该隐藏起来。此应用程序编号应为自动递增唯一编号。我使用date()和mysql\u insert\u id()方法来生成它。但在我的表中始终显示0值。我已经发布了我的代码。请任何人都给我解释一下这个案子的错误是什么。此代码已成功插入。但没有显示正确的输出。始终显示0 if(isset($_POST['submitted'])){ // catch data $loantype = $_POST['loantype']; $ca

我创建了一个申请表,它没有申请字段。但它应该隐藏起来。此应用程序编号应为自动递增唯一编号。我使用date()和mysql\u insert\u id()方法来生成它。但在我的表中始终显示0值。我已经发布了我的代码。请任何人都给我解释一下这个案子的错误是什么。此代码已成功插入。但没有显示正确的输出。始终显示0

if(isset($_POST['submitted'])){


    // catch data
    $loantype = $_POST['loantype'];
    $calcno = $_POST['calcno'];
    $memberid = $_POST['memberid'];
    $appno = date('Y-m-d')."-LN/SS-".mysql_insert_id();
    $amount = $_POST['amount'];
    $rental_type = $_POST['rental_type'];
    $apr = $_POST['apr'];
    $npy = $_POST['npy'];
    $flatrate = $_POST['flatRate'];
    $othercharges = $_POST['othercharges'];
    $repayment = $_POST['Repayment'];


    $payment = $_POST['payment'];
    $totpaid = $_POST['totpaid'];
    $intpaid = $_POST['intpaid'];

    date_default_timezone_set("Asia/Calcutta");
    $created = date('Y-m-d h:i:s');
    $status = "PENDING";
    $discription = "NOT DEFINED";
    $accepted_amount = "NOT DEFINED";


    //create new loan application
    $sql ='INSERT INTO tbl_loan_application VALUES (NULL,"'.$loantype.'","'.$calcno.'","'.$memberid.'","'.$appno.'","'.$amount.'","'.$rental_type.'","'.$apr.'","'.$npy.'","'.$flatrate.'","'.$othercharges.'","'.$repayment.'",
    "'.$created.'","'.$status.'","'.$discription.'","'.$accepted_amount.'","'.$payment.'","'.$totpaid.'","'.$intpaid.'")';


    /*else{

    }*/


        mysql_query($sql, $conn) or die(mysql_error());
        echo'<div class="alert alert-dsgn alert-success fade in" style="width:400px; align:center; margin-left:35%;     margin-top:5px;>
                            <button class="close" aria-hidden="true" data-dismiss="alert" type="button"></button>
                        <i class="fa fa-thumbs-up fa-3x"></i>
                        <article>
                        <h4>Nice! </h4>
                        <p>New Loan application successfully saved..<br /> </p>
                        </article>
                    </div>';
    echo '<a href="newloan.php"><p align="center">Back</p></a>';    
    echo '<p align="center">If you want to view loan application! click <a href="approved_loan_list.php">here</a></p>'; 
    echo mysql_insert_id();
    die();


    //

}
if(isset($\u POST['submitted'])){
//捕获数据
$loantype=$_POST['loantype'];
$calcno=$_POST['calcno'];
$memberid=$\u POST['memberid'];
$appno=date('Y-m-d')。“-LN/SS-”.mysql_insert_id();
$amount=$_POST['amount'];
$rental_type=$_POST['rental_type'];
$apr=$_POST['apr'];
$npy=$_POST['npy'];
$flatrate=$_POST['flatrate'];
$othercharges=$_POST['othercharges'];
$RETURNATION=$_POST[‘RETURNATION’];
$payment=$_POST['payment'];
$totpayed=$_POST['totpayed'];
$intpaid=$_POST['intpaid'];
日期默认时区设置(“亚洲/加尔各答”);
$created=日期('Y-m-d h:i:s');
$status=“待定”;
$description=“未定义”;
$accepted\u amount=“未定义”;
//创建新的贷款申请
$sql='INSERT INTO tbl_loan_应用程序值(空,'.$loantype.''.''.$calcno.'.'.$memberid.'.''.$appno.'.'.'.'.$amount.'.'.$amount.'.'.'.$rental_type.'.'.'.''.$npy.'.'.'.'.'.'.$flatrate.'.'.'.'.'.'.'.$othercharges.'.'.'.'.'.'.'.''.$Reumina,
“.$created.”、“.$status.”、“.$discription.”、“.$accepted.”、“.$payment.”、“.$TOTPADED.”、“.$INTPAYED.”;
/*否则{
}*/
mysql_query($sql,$conn)或die(mysql_error());

echo'在创建mysql数据库时,您需要这样做。例如:

    CREATE TABLE IF NOT EXISTS `tablename` (
      `Id` int(11) NOT NULL auto_increment,
      `Username` varchar(255) NOT NULL,
      `Password` varchar(255) NOT NULL,
      PRIMARY KEY  (`Id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

这样,每次添加数据库记录时,ID列将自动增加为1。您不需要手动执行此操作,因为在使用$u POST方法时,它将具有唯一的ID(例如1、2、3、4等)

首先考虑删除mysql,支持mysql或PDO,因为MySQL函数被弃用。更多信息。

其次,如前所述,您使用的函数返回上次运行的查询的ID,因此如果上次查询没有生成新ID,它将返回0

开始学习MySQL或PDO,您可以考虑官方或PHP文档和./P> 另外,在相关通知中,最好说明希望使用insert影响的字段,如下所示:

INSERT INTO table1(field_name1, field_name2, ... , field_nameN) VALUES(value1, value2, ... ,  valueN)
决议建议: 使用一些默认appno插入它们,并添加此触发器:

CREATE TRIGGER `UPDATES` AFTER INSERT ON `tbl_loan_application`
FOR EACH ROW BEGIN
    SET NEW.appno = CONCAT(CURDATE(), "-LN/SS-" , NEW.ID);
END
这将在每次插入后在数据库中自动分配代码。我假设数据库中的字段名是代码的“appno”,自动递增字段的“ID”

编辑:

触发器如何工作:

如上所述,触发器是在事件(更新、插入或删除)之后或之前执行的“存储函数”。正确语法为:

CREATE TRIGGER `Trigger_Name` [BEFORE/AFTER] [INSERT/UPDATE/DELETE] ON `table_name`
/* Some function usually with FOR EACH ROW */
通过使用NEW.field_name或OLD.field_name选择受影响的值。这两个选择器在操作前后返回受影响字段的值。因此,通过这样说,答案中给出的示例执行以下操作:

  • 创建名为“更新”的触发器
  • 将事件设置为在每次为表“tbl_loan_application”执行insert语句后激发
  • 该函数逐个选择插入的所有行,并执行与php相同的操作,它连接
    CURDATE()
    ,即当前日期、字符串“-LN/SS-”和行的id,前提是您有一个
  • 触发器和表一样,通常在mysql控制台中编写一次,但有些人使用其他工具(如phpmyadin)来简化过程

    触发器在许多情况下都很方便,不仅可以编辑受监视的表,还可以编辑任何其他表


    长话短说,每次编辑/插入新的/删除指定表中的行时,都会执行此代码。

    使用此函数生成格式良好的id

    mt_rand(10,100);
    

    我已经创建了一个表,它的名称是tbl_loan_application,这些数据应该转到该表。你是指其他表吗?不,使用上面的模型创建表。对于此行:[“主键(
    Id
    )”],最后一行,你应该在其中一列(用于“Id”的列)上使用auto increment属性然后它会自动正确地递增-你可以随时添加它,不需要在你第一次创建表时添加。那么我要做什么呢…我是php的新手。我不知道如何使用mysql1@user3732725我添加了一些教程的链接。相信我,切换起来很容易。是的。很多人都这么说。。赫里斯托。。这这是我的坏习惯。我尽力了。但我的问题没有答案。这是一个贷款管理系统。我创建了一个大东西。当我改为mysqli时。这对我来说是一个大麻烦。这是我项目的最终状态。你有权添加触发器吗,@user3732725?对不起。我不明白这是什么。这是php的一个函数,它生成了一个unique id(md5)。你可以使用它生成一个唯一的id,然后你可以通过php使用insert INTO语句将其插入mysql。是的……但这不是很好的格式。我想要格式化的数字。你能告诉我你需要格式化的数字的目的吗?这篇文章被自动标记为低质量,因为它只是代码。你介意扩展我吗通过添加一些文本来解释它是如何解决问题的?