如何自动查询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(仅限美国)? [关闭]