当前选择不包含唯一列。 mysqli的。重复?

时间:2017-08-22 22:20:56

标签: php mysqli

我似乎无法选择/检索"包表"并将其合并到1个包含另一个表的表中,该表是"事件表"。我不知道什么似乎是问题。

每当我尝试执行我的查询时,弹出的唯一内容就是 events_表,另一方面Package表没有。我尝试了另一个简单的查询,

SELECT *  FROM event_table JOIN package ON event_id WHERE cusact_id = 8 AND event_id=80

查询工作正常。

事件表(结构): http://prntscr.com/gbr6vr

包裹表(结构): https://prnt.sc/gbr793

注意:我在events_table和package上有一个名为package_id的列。那是问题吗?对不起,还是mysql的新手。

旁注:

$c_id = $_SESSION['u_id'];
$n_id = $_GET['n_id'];
$p_id = $_GET['new_p_id'];

所有这些都有数据,所以这里没问题。

这是我的问题:

<?php
 session_start();

  include_once 'order.confirmation-header.php';

  include 'includes/dbh.inc.php';


$c_id = $_SESSION['u_id'];
$n_id = $_GET['n_id'];
$p_id = $_GET['new_p_id'];

$sql = "
        SELECT event_id, event_name, event_date, event_time_start, 
        event_time_end, cusact_id, theme, reserve_date, reserve_time  
        FROM event_table as e 
        INNER JOIN package as p 
        ON e.package_id = p.package_id 
        WHERE cusact_id = $c_id  AND event_id=$n_id
";

$data = mysqli_query($conn, $sql);

if(!$data){
        echo("Error description: " . mysqli_error($conn));
    }

1 个答案:

答案 0 :(得分:0)

您没有请求任何包列(通过合并表我假设您的意思是检索记录集)

SELECT event_id, event_name, event_date, event_time_start, 
event_time_end, cusact_id, theme, reserve_date, reserve_time, p.*  
FROM event_table as e 
INNER JOIN package as p 
ON e.package_id = p.package_id 
WHERE cusact_id = $c_id  
AND event_id=$n_id

您的代码对SQL注入非常开放,我真的考虑将PDO API与准备好的语句一起使用。