我需要在我的mysql表中的'feedback'字段中显示我的页面上的回复数据。我希望每个用户在每行存储不同的“反馈”响应,并在用户通过会话登录页面时获取。我已经设置了我的数据库,但发现很难形成php代码来查看我页面上的反馈...请有人帮忙../
<?php
session_start();
if ($_SESSION['username'])
{
$con = mysqli_connect('localhost','root','');
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"loginsession");
$username = $_SESSION['username'];
$sql="SELECT * FROM users WHERE username = $username";
$result = mysqli_query($con,$sql);
$feedback = mysql_query("SELECT feedback FROM users WHERE username='$username'");
echo $feedback;
}
else
header("Location: index.php");
?>
答案 0 :(得分:6)
这种情况下的$ feedback不是字符串,它是一个mysql资源。您需要使用以下内容单独获取每一行:
echo "<PRE>";
while ($row = mysql_fetch_assoc($feedback)) {
print_r($row);
}
此外,您应该通过mysql_real_escape_string()放置$ username,否则您的代码可能容易受到SQL injection attacks的攻击。
编辑:(免责声明)您正在使用的方法和我的建议已经过时,并且已经在php5.5中折旧了。我建议您查看prepared statements。
答案 1 :(得分:1)
$sql = mysql_query("SELECT feedback FROM users WHERE username='{$username}' LIMIT 1");
$feedback = mysql_fetch_assoc($sql);
echo $feedback[0];
答案 2 :(得分:-1)
<?php
session_start();
if ($_SESSION['username'])
{
$con = mysqli_connect('localhost','root','');
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"loginsession");
$username = $_SESSION['username'];
$sql='SELECT feedback FROM users WHERE username = "'.$username.'"';
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
echo $row['feedback'];
}
}
else
header("location: index.php");
?>