如何在php中设置会话id

如何在php中设置会话id,php,Php,我在php myadmin中创建了两个表,第一个表是 有行的成员 用户id-主键 名称 用户名 密码 第二个表是包含行的blogdata id-主键 author\u id-外键引用成员表中的用户id 标题 所容纳之物 类别 下面是我要从数据库中选择的php <?php session_start(); $_SESSION['author_id']='user_id'; $sql = mysql_query("SELECT * FROM blogdata where user_id =

我在php myadmin中创建了两个表,第一个表是 有行的成员 用户id-主键 名称 用户名 密码

第二个表是包含行的blogdata id-主键 author\u id-外键引用成员表中的用户id 标题 所容纳之物 类别

下面是我要从数据库中选择的php

<?php
session_start();


$_SESSION['author_id']='user_id';
$sql = mysql_query("SELECT * FROM blogdata where user_id = author_id");
while($row = mysql_fetch_array($sql)){
$title = $row['Title'];
$category =$row['Category'];
$content =$row['Content'];
$date =$row['date'];


?>

它总是给我一个错误的说法 警告:mysql_fetch_array()希望参数1是资源。 任何帮助都将不胜感激,因为我是php新手


我有数据库连接,所以不是这样。

在运行查询之前,您忘记使用
mysql\u connect()

您没有正确查询数据。试试这个:

<?php
session_start();

$_SESSION['author_id'] = $php_user_id;
$sql = mysql_query("SELECT * FROM blogdata where user_id = \"".mysql_real_escape_string($_SESSION[author_id]."\"");
while($row = mysql_fetch_array($sql)){
$title = $row['Title'];
$category =$row['Category'];
$content =$row['Content'];
$date =$row['date'];
}
?>

问题不在于会话,而在于mysql查询。您是否阅读了上的文档?查询不安全,SQL注入是可能的。你为什么不给mysql\u real\u escape\u string()添加一个调用呢。实际上,他们也不应该再使用任何mysql函数了。我也应该提醒他们。