2013-12-12 40 views
1

在php中将会话变量传递给mysql查询有点麻烦。 试图把它放入一个变量和测试反对,没有运气。 也尝试过各种格式。不知所措。这只是一个简单的字符串中传递麻烦传递会话变量到MySQL查询?

$result = mysqli_query($db_connection, "SELECT * FROM feedback WHERE StudentID=" . $_SESSION['BCode'] . ""); 
+0

'在session_start()'在你的文件的顶部? – wesside

+0

(可能的)下面两个答案的组合。 –

+0

http://en.wikipedia.org/wiki/SQL_injection – Dave

回答

3

你设置:

session_start(); 

你的PHP文件的标题?

<?php 
session_start(); 

$studentid = $_SESSION['BCode']; 

$result = mysqli_query($db_connection, "SELECT * FROM feedback WHERE StudentID='" . $studentid . "'"); 

$finalResult = array(); 

while ($row = $result->fetch_assoc()) 
{ 
    $finalResult[] = $row; 
} 

$jsonoutput = json_encode($finalResult); // Encodes the query result into JSON 
?> 
1

检查session_start();,并尝试

mysqli_query($db_connection, "SELECT * FROM feedback WHERE StudentID='" . $_SESSION['BCode'] . "'"); 
+0

<?php session_start(); mysqli_query($ db_connection,“SELECT * FROM feedback WHERE StudentID ='”。$ _SESSION ['BCode']。“'”); $ finalResult = array(); ($ row = $ result-> fetch_assoc()){ $ finalResult [] = $ row; } $ jsonoutput = json_encode($ finalResult); //将查询结果编码为JSON ?> – user3078580

+0

现在它跳转到while循环。错误 – user3078580

+2

当涉及到这样的问题时,您应该马上发布完整的代码。 @ user3078580这是经典**“Can of Worms”**场景。 –