Sql 查询 PHP 有问题?

Sql query on PHP problems?

很难解释我的问题和我想做什么,但是如果你阅读我的代码你就会明白。

当我登录时,我有 $username 作为 cookie,我在这个页面上调用它,它起作用了。像这样:

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

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

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

然后我有下一个查询,我试图在其中获得结果 $username id = schedules.id_doc 这是 table 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'";

我不确定我是否可以通过这种方式做到这一点,或者它有另一种方式。

您在 . "INNER JOIN users"; 行中有一个 ;

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

此外,您不需要行尾的 \n

您应该为 table 创建一个别名,而您忘记了 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'";