如何自动查询mysql以检索名称[关闭]

Posted

技术标签:

【中文标题】如何自动查询mysql以检索名称[关闭]【英文标题】:How to query mysql automatically to retrieve name [closed] 【发布时间】:2013-12-03 15:21:26 【问题描述】:

我有三个mysql表如下

1:注册

id |student_id | name |class | date | country | address

2:支付

id |student_id | name |class |school_fee | hostel_fee

3:考试表

id |student_id | name |class | Math | english 

第一个表用于保存在校注册学生的姓名,第二个表用于保存学生的付款记录,最后一个(3)用于携带考试记录。

Note: student_id is id number of student AND id is primary key auto_increment.

我想要并且很难查询的是!我想注册一个学生后,学生想支付任何服务,当我插入student_id示例(001)时系统自动检索学生姓名,或者一旦我插入学生姓名系统自动检索student_id,这个 意味着如果学生姓名为“Idan John Simon”且 student_id 为“001”,一旦我在表单的 student_id 文本字段中自动插入文本字段“Idan John Simon”应显示“001”作为她的 idnumber,反之亦然。

如有任何帮助,我将不胜感激。

这里是用于在注册表中插入数据的代码

 <?php

$con=mysqli_connect("localhost","root","mcl");
if(!$con)
 die("The connection is not initiated,please try again");
 
     else
       
     mysqli_select_db("mcl",$con);

     $student_id=$_POST['student_id']; 
     $insert="INSERT INTO registration(student_id,name,class,date,country,address)       
     VALUES('".$_POST["student_id"]."','".$_POST["name"]."','".$_POST["class"]."',
    '".$_POST["date"]."','".$_POST["country"]."','".$_POST["address"]."')";

    
       echo"Student already registered<br>";

        
           mysqli_query($insert,$con);
           mysqli_close($con);
        ?>

这是付款表

    <?php

$con=mysqli_connect("localhost","root","mcl");
if(!$con)
 die("The connection is not initiated,please try again");
 
     else
       
     mysqli_select_db("mcl",$con);

     $student_id=$_POST['student_id']; 
     $insert="INSERT INTO payment (student_id,name,class,school_fee,hostel_fee)       
     VALUES('".$_POST["student_id"]."','".$_POST["name"]."','".$_POST["class"]."',
    '".$_POST["school_fee"]."','".$_POST["hostel_fee"]."')";

    
       echo"payment already sent<br>";

        
           mysqli_query($insert,$con);
           mysqli_close($con);
        ?>

这是考试桌

    <?php

$con=mysqli_connect("localhost","root","mcl");
if(!$con)
 die("The connection is not initiated,please try again");
 
     else
       
     mysqli_select_db("mcl",$con);

     $student_id=$_POST['student_id']; 
     $insert="INSERT INTO exam (student_id,name,class,math,english)       
     VALUES('".$_POST["student_id"]."','".$_POST["name"]."','".$_POST["class"]."',
    '".$_POST["math"]."','".$_POST["english"]."')";

    
       echo"data already sent<br>";

        
           mysqli_query($insert,$con);
           mysqli_close($con);
        ?>

【问题讨论】:

你在用什么,PDO 还是 MySQLi? Here's the PDO's one Select last insert id的可能重复 我必须提醒您有关数据验证的信息。没有什么比 Bobby-Tables 更能说明问题了:xkcd.com/327。这个简单的 POST 变量将删除包含所有数据的注册表: student_id=%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27)% 3BDROP%20TABLE%20registration%3B-- 【参考方案1】:

取决于您使用的扩展程序:

MySQL:http://uk3.php.net/manual/en/function.mysql-insert-id.php

MySQLi:http://uk3.php.net/manual/en/mysqli.insert-id.php

PDO:http://uk3.php.net/manual/en/pdo.lastinsertid.php

【讨论】:

以上是关于如何自动查询mysql以检索名称[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 对 MYSQL 中的公司名称进行模糊匹配以自动完成?

通过用户输入城市名称检索邮政编码的最佳 API(仅限美国)? [关闭]

仅检索 javascript 数组的列

如何使用 Node.js 查询 mysql 数据库以通过 url 中的名称获取特定用户(字段),而不仅仅是通过 ID

是否可以使用仪器在自动化测试中检索图像名称?

在 SQL Server 中,如何从子查询中标识的表列名称中检索数据值?