繁体   English   中英

关于PHP的SQL查询问题?

[英]Sql query on PHP problems?

很难解释我的问题和我想做什么,但是如果您阅读我的代码,您将会理解。

登录时,我将$username作为cookie,并在此页面上将其命名,并且可以使用。 像这样:

<?php 
if (isset($_COOKIE['username'])) 
{ 
    $username = $_COOKIE['username']; 
} 
?> 

现在,我想获取此$username的ID,形成表users 所以这是我的查询:

<?php 
$sql = "SELECT id FROM users WHERE username = '$username'"; 
$result2 = mysqli_query($mysqli, $sql); 
?>

然后,我有下一个查询,在这里我要获取结果,其中$username id = schedules.id_doc是表users的外键。

<?php 
$doc = "SELECT users.emri, users.mbiemri, schedules.visit_date, schedules.visit_time\n" 
    . "FROM schedules\n" 
    . "INNER JOIN users"; 
    . "WHERE schedules.id_doc = '$result2'"; 
$result1 = mysqli_query($mysqli, $doc); 
?> 

所以这是行不通的,当我调试它时,提示问题出在. "WHERE schedules.id_doc = '$result2'"; . "WHERE schedules.id_doc = '$result2'";

我不确定我是否可以通过这种方式执行此操作,或者它有另一种方式。

你有一个; 在行. "INNER JOIN users"; . "INNER JOIN users";

如果删除; 您的代码将起作用。

另外,您也不需要在行尾添加\\n

您应该为表创建一个别名,并且忘记了ON子句。 您的查询应如下所示:

$doc = "SELECT users.emri, users.mbiemri, schedules.visit_date,     
        schedules.visit_time\n" 
       . "FROM schedules A \n" 
       . "INNER JOIN users B ON A.id_doc=B.id" 
       . "WHERE A.id_doc = '$result2'"; 

或将其放在一行代码中。 见下文:

$doc = "SELECT users.emri, users.mbiemri, schedules.visit_date, schedules.visit_time FROM schedules A INNER JOIN users B ON A.id_doc=B.id WHERE A.id_doc = '$result2'"; 

暂无
暂无

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

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