簡體   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