只是问在PHP中是否可以在1函数中执行sql statment。
我的sql真正做的是从我的数据库中的三个表中获取数据。 我目前不确定使用什么方法。内部联接会弹出它但我忘记了正确的语法。所以我在想这个。
$qry_display = "SELECT student_id,
section_id,level,photo,address,father_occupation,father_phone,father_company,mother_occupation,
mother_phone,mother_company
from tbl_er
where student_id='$id' AND level="3rd Year"";
以上陈述将从tbl_er检索信息,这些将是学生的历史记录。
$qry_display = "SELECT fname,
sex,
lname,
mname,
birth_date,
birth_place,
address,
father,
father_degree,
mother,
mother_degree,
from tbl_enroll where student_id='$id'";
上述语句将从tbl_enroll中检索部分信息,这些将是学生核心不可更改的数据。第一个语句也有“section_id”要检索。所以我的想法是检索该值,以便它将用于最后一个sql。
$qry_display = "SELECT section_name,adviser_id,schoolyr
from tbl_section
where student_id='$id' AND section_id='$sid'";
我关于如何获取section_id的想法是在我要放的最后一个语句之前。
$sid= section_id (I am unsure if this will work.)
此语句也会在一个函数中触发所有三个语句吗?
$sql_display = mysql_query($qry_display) or die (mysql_error());
谢谢,感谢任何反馈。
答案 0 :(得分:0)
我似乎记得MySQL
系列函数不能在单个mysql_query
操作中处理多个语句。它将执行第一个语句,然后以静默方式丢弃以下语句,即使您将它们包装在事务中也是如此。
也就是说,MySQL系列已被弃用 - you should be using MySQLi用于2012年的新项目。;)
答案 1 :(得分:0)
这有很多错误,你可能无法得到你想要的东西,即使你弄清楚了错误,所以让我们开始把它写成一个连贯的查询与左连接(好的调用顺便说一句)。 / p>
$qry_display = "SELECT
a.student_id, a.section_id, a.level, a.photo, a.address, a.father_occupation, a.father_phone, a.father_company, a.mother_occupation, a.mother_phone, a.mother_company,
b.fname, b.sex, b.lname, b.mname, b.birth_date, b.birth_place, b.address, b.father, b.father_degree, b.mother, b.mother_degree,
c.section_name, c.adviser_id, c.schoolyr
FROM tbl_er AS a
LEFT OUTER JOIN tbl_enroll AS b ON a.student_id = b.student_id
LEFT OUTER JOIN tbl_section AS c ON a.section_id = c.section_id
WHERE a.student_id=".$id." AND a.level='3rd Year'";
最后一次加入并不关心student_id,因为部分/顾问关系不依赖于学生。