查询MySQL以显示用户在PHP中的帖子-不确定如何制定查询
这是我在教程中的现有代码:查询MySQL以显示用户在PHP中的帖子-不确定如何制定查询,php,mysql,sql,Php,Mysql,Sql,这是我在教程中的现有代码: <fieldset> <legend><?php echo WORDING_EDIT_USER_DATA; ?></legend> <p><?php echo WORDING_YOU_ARE_LOGGED_IN_AS . '<b>' . $_SESSION['user_name']; ?></b></p><hr/> <
<fieldset>
<legend><?php echo WORDING_EDIT_USER_DATA; ?></legend>
<p><?php echo WORDING_YOU_ARE_LOGGED_IN_AS . '<b>' . $_SESSION['user_name']; ?></b></p><hr/>
<p>$_SESSION['user_id'] = <?php echo $_SESSION['user_id']; ?></p>
<p>$_SESSION['user_name'] = <?php echo $_SESSION['user_name']; ?></p>
<p>$_SESSION['user_email'] = <?php echo $_SESSION['user_email']; ?></p>
<p>$_SESSION['user_access_level'] = <?php echo $_SESSION['user_access_level']; ?></p>
<p>$_SESSION['user_logged_in'] = <?php echo $_SESSION['user_logged_in']; ?></p><hr/>
<p><?php echo WORDING_PROFILE_PICTURE . '<br/><img src="' . $login->getGravatarImageUrl() ; ?>" /></p>
</fieldset><br/>
<a href="?logout"><?php echo WORDING_LOGOUT; ?></a> | <a href="?edit"><?php echo WORDING_EDIT_USER_DATA; ?></a>
<?php echo (ALLOW_ADMIN_TO_REGISTER_NEW_USER && $_SESSION['user_access_level'] == 255 ? '<br/><a href="?register">'. WORDING_REGISTER_NEW_ACCOUNT .'</a>' : ''); ?>
我对这一点相当陌生,但这正是我尝试的,为了显示属于登录用户的帖子:
<?php
$result = mysql_query('SELECT item_title, item_location, item_datetime
FROM item WHERE user_id = $_SESSION['user_id'] ;');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
在使这个查询工作或代码运行方面,我没有取得太大的进展。谁能告诉我哪里出了问题吗?用这个问题替换你的问题,然后尝试:
$result = mysql_query('SELECT item_title, item_location, item_datetime
FROM item WHERE user_id ='.$_SESSION['user_id']);
用此查询替换您的查询,然后尝试:
$result = mysql_query('SELECT item_title, item_location, item_datetime
FROM item WHERE user_id ='.$_SESSION['user_id']);
用双QOUTE替换主边界
mysql_query('SELECT item_title, item_location, item_datetime
FROM item WHERE user_id = $_SESSION['user_id'] ;');
到
用双QOUTE替换主边界
mysql_query('SELECT item_title, item_location, item_datetime
FROM item WHERE user_id = $_SESSION['user_id'] ;');
到
试试这个:
<?php
$result = mysql_query("SELECT item_title, item_location, item_datetime
FROM item WHERE user_id = " .$_SESSION['user_id']. " ;");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
无论如何,您应该转义变量$\u SESSION['user\u id']
,以防止SQL注入
以下是一些官方文件:
试试这个:
<?php
$result = mysql_query("SELECT item_title, item_location, item_datetime
FROM item WHERE user_id = " .$_SESSION['user_id']. " ;");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
无论如何,您应该转义变量$\u SESSION['user\u id']
,以防止SQL注入
以下是一些官方文件:
您是否收到任何错误?如果您收到mysql错误,请尝试打印您的查询,并检查用户id是否显示或勾选您的引号,您的查询应类似于
“从用户id=$会话['user\u id']的项目中选择项目标题、项目位置、项目日期时间”
您是否遇到任何错误?如果您遇到mysql错误,请尝试打印您的查询并检查用户id是否显示或勾选您的引号,您的查询应类似于“从用户id=$会话['user\u id']的项目中选择项目标题、项目位置、项目日期时间。”
为什么另一个答案在$\u会话前有一个句号而你的答案没有?这有区别吗?@Jimmy ask google.…双引号字符串显示大量转义字符(包括一些正则表达式),并计算字符串中的变量。在PHP中使用双引号可以避免使用句点分隔代码。为什么另一个答案在$\u会话前有一个句号而你的答案没有?这有区别吗?@Jimmy ask google.…双引号字符串显示大量转义字符(包括一些正则表达式),并计算字符串中的变量。在PHP中使用双引号可以避免使用句点分隔代码。