0

只是问是否有可能在 php 中执行 sql 语句的 1 个函数。

我的 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());

谢谢,感谢任何反馈。

4

2 回答 2

0

我似乎记得MySQL函数族不能在单个mysql_query操作中处理多个语句。它会执行第一条语句,然后默默地丢弃以下语句,即使您将它们包装在事务中也是如此。

也就是说,不推荐使用 MySQL 系列 -您应该在 2012 年将 MySQLi 用于新项目。;)

于 2012-08-21T03:03:39.610 回答
0

这有很多问题,即使您解决了错误,您也可能不会得到您正在寻找的东西,所以让我们开始将其编写为带有左连接的 1 个连贯查询(顺便说一句很好)。

$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,因为 section/advisor 关系不依赖于学生。

于 2012-08-21T03:12:05.833 回答