2014-03-19 44 views
-2

我想要一个sql查询,其中会话数据'id'等于一个变量。 目前我有此查询从日历中获取事件:其中会话数据Sql

<?php 
// List of events 
$json = array(); 

// Query that retrieves events 
$requete = " SELECT * FROM `evenement` LEFT JOIN `evenementontvanger` ON `evenementontvanger`.`idEvent` = `evenement`.`id` WHERE `idEvent`=`evenement`.`id`"; 

// connection to the database 
try { 
$bdd = new PDO('mysql:host=localhost;dbname=blackboks-calendar', 'root', 'root'); 
} catch(Exception $e) { 
    exit('Unable to connect to database.'); 
} 
// Execute the query 
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); 

// sending the encoded result to success page 
echo json_encode($resultat->fetchAll(PDO::FETCH_ASSOC)); 

?> 

我想答案应该是这样的:

$requete = " SELECT * FROM `evenement` LEFT JOIN `evenementontvanger` ON `evenementontvanger`.`idEvent` = `evenement`.`id` WHERE `idWerknemer`=`"$this->session_data['id']"`"; 

回答

0

应该为

$requete = " SELECT * FROM `evenement` 
    LEFT JOIN `evenementontvanger` ON `evenementontvanger`.`idEvent` = `evenement`.`id` 
    WHERE `idWerknemer`='".$this->session_data['id']."'"; 

字符串数据应该用单引号“'括起来,如果它的整数不需要提供''

+2

事实上,字符'是为了逃避字段名称,以便它们不会被误认为别的东西,例如,如果它们匹配sql函数的名称。 – Lapidouce

+0

当我这样做,它不显示任何事件。但是我得到了idWerknemer = 20和会话数据为20的行。所以我不明白为什么它不会显示任何东西。 – Rene

+0

你是否在这两个表上都有idWerknemer字段,如果是,那么你需要指定evenement.idWerknemer或其他表。也尝试直接在mysql上执行查询,看看你是否得到任何错误 –