繁体   English   中英

如何将SQL语言与PHP语言混合使用

[英]How to mix the SQL language with the PHP language

我写了这段代码:

<?php
$con = mysqli_connect('localhost', 'root', '');
if(!$con)
{
    die("not ok");
}

mysqli_select_db($con,"uoh");  

$q = " SELECT * FROM student WHERE id = 201102887" ;
$result = mysqli_query($con , $q ) ;
if($row = mysqli_fetch_array($result))
{
   echo "<h3> compliance for for " . $row["name"];
   echo " and the major is ".$row["major"];
   echo "</h3>";
}

$major=$row["major"];

$con = mysqli_connect('localhost', 'root', '');
if(!$con)
{
    die("not ok");
}

mysqli_select_db($con,"uoh");  
$q = "SELECT * FROM courses LEFT JOIN equal ON equal.course_number= 
courses.course_number LEFT JOIN degree_plan ON degree_plan.course_number=
 courses.course_number LEFT JOIN student_record ON courses.course_number= 
 student_record.course_number AND student_record.id=201102887 AND degree_plan.major=".$major;
?>

该代码工作正常,但没有给我结果。

我认为问题出在degree_plan.major=".$major;因为查询没有给我结果。

你能解决吗?

您不会执行仅定义为字符串的第二个查询。 您应该在第二个查询之后放置与第一个查询相同的内容

$result2 = mysqli_query($con , $q ) ;
if($row2 = mysqli_fetch_array($result2)) {

由于主值看起来像一个字符串,您可能需要用引号引起来,否则查询将失败

AND degree_plan.major='".$major."'";

您应该这样用引号将查询格式化

    mysqli_select_db($con,"uoh");  
    $q = "SELECT * FROM courses LEFT JOIN equal ON equal.course_number= 
     courses.course_number LEFT JOIN degree_plan ON degree_plan.course_number=
     courses.course_number LEFT JOIN student_record ON courses.course_number= 
     student_record.course_number 
      AND student_record.id=201102887 AND degree_plan.major='".$major ."'";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM