Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何显示用户';这张桌子和另一张一起吗?_Java_Mysql_Sql_Database_Jsp - Fatal编程技术网

Java 如何显示用户';这张桌子和另一张一起吗?

Java 如何显示用户';这张桌子和另一张一起吗?,java,mysql,sql,database,jsp,Java,Mysql,Sql,Database,Jsp,我正在做一个论坛,现在我有了这张桌子。请看这里: 此表供用户使用: create table if not exists login_system( user_id INT NOT NULL auto_increment, email VARCHAR(100) NOT NULL, password VARCHAR(100) NOT NULL, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, gender VAR

我正在做一个论坛,现在我有了这张桌子。请看这里:

此表供用户使用:

create table if not exists login_system(
user_id INT NOT NULL auto_increment,
email VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
gender VARCHAR(50) NOT NULL,
about_yourself VARCHAR(150) NOT NULL,
my_website VARCHAR(100000) NOT NULL,
PRIMARY KEY(user_id)
);
此表用于回答以下问题:

create table if not exists thread_question(
question_id INT NOT NULL auto_increment,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
question_title VARCHAR(500) NOT NULL,
question VARCHAR(100000) NOT NULL,
question_dateTime VARCHAR(100) NOT NULL,
PRIMARY KEY(question_id)
);
如果用户发布问题,我想显示一个
用户链接。它必须假设在悬停在人名上之后提供链接。以便其他人可以看到他/她的个人资料信息

我可以通过以下方式简单地将一些问题带到论坛中:

<%
try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/forum", "root", "1234");
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery("select * from thread_question where question_id="+question_id);
            while(rs.next()){

                String first_name=rs.getString("first_name");
                String last_name=rs.getString("last_name");
                String thread_title=rs.getString("question_title");
                String thread_question=rs.getString("question");
                String thread_dateTime=rs.getString("question_dateTime");

...
...
...
%>


现在我的愿望是显示
login\u系统的表
以及
question的表
,您很清楚我们不能在这里创建两个语句。所以请帮助我。。我想从
login\u system
表中获取
user\u id
,在该表中,我可以通过单击链接轻松显示他/她的个人资料。你能帮帮我吗?如何做到这一点?

您的方法存在各种问题。首先,正如所评论的,您不应该将连接代码直接放入JSP中。其次,由于SQL注入的风险,不应该通过连接字符串来创建语句。确保您理解这意味着什么,并使用
PreparedStatement


要最终回答您的问题,而不是在
thread\u question
表中有名字和姓氏,您应该在
login\u system
表中有一个id外键,然后在SQL语句中使用join。我想如果我将逐字记录解决方案粘贴到这里,对您不会有多大帮助。

您的方法存在各种问题。首先,正如所评论的,您不应该将连接代码直接放入JSP中。其次,由于SQL注入的风险,不应该通过连接字符串来创建语句。确保您理解这意味着什么,并使用
PreparedStatement


要最终回答您的问题,而不是在
thread\u question
表中有名字和姓氏,您应该在
login\u system
表中有一个id外键,然后在SQL语句中使用join。我想如果我将逐字记录解决方案粘贴到这里,对您不会有多大帮助。

您的方法存在各种问题。首先,正如所评论的,您不应该将连接代码直接放入JSP中。其次,由于SQL注入的风险,不应该通过连接字符串来创建语句。确保您理解这意味着什么,并使用
PreparedStatement


要最终回答您的问题,而不是在
thread\u question
表中有名字和姓氏,您应该在
login\u system
表中有一个id外键,然后在SQL语句中使用join。我想如果我将逐字记录解决方案粘贴到这里,对您不会有多大帮助。

您的方法存在各种问题。首先,正如所评论的,您不应该将连接代码直接放入JSP中。其次,由于SQL注入的风险,不应该通过连接字符串来创建语句。确保您理解这意味着什么,并使用
PreparedStatement


要最终回答您的问题,而不是在
thread\u question
表中有名字和姓氏,您应该在
login\u system
表中有一个id外键,然后在SQL语句中使用join。我想,如果我将逐字解决方案粘贴到这里,对您不会有多大帮助。

首先,请跟随带有“无”名称的提示的horse\u,出于安全原因,不要将SQL代码放入JSP页面

另外,请修改你的语法/拼写,因为你的问题很难理解

另一件事是,您需要阅读有关规范化数据库结构的内容

我很清楚,如果愿意,您可以创建多个sql语句,这只是另一个连接,但在这种情况下,您不需要(大多数情况下)

将您的问题表更改为此

create table if not exists thread_question(

    question_id INT NOT NULL auto_increment,
    user_id id INT NOT NULL,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    question_title VARCHAR(500) NOT NULL,
    question VARCHAR(100000) NOT NULL,
    question_dateTime VARCHAR(100) NOT NULL,
    PRIMARY KEY(question_id)
    );
看起来您想要的SQL是这样的

SELECT 
LS.FIRST_NAME,
LS.LAST_NAME,
TQ.question_title,
TQ.question,
TQ.question_dateTime
FROM
login_system as LS
JOIN thread_question as TQ ON
LS.user_id = TQ.user_id

首先,跟随一匹没有名字的马,出于安全原因,不要将SQL代码放入JSP页面

另外,请修改你的语法/拼写,因为你的问题很难理解

另一件事是,您需要阅读有关规范化数据库结构的内容

我很清楚,如果愿意,您可以创建多个sql语句,这只是另一个连接,但在这种情况下,您不需要(大多数情况下)

将您的问题表更改为此

create table if not exists thread_question(

    question_id INT NOT NULL auto_increment,
    user_id id INT NOT NULL,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    question_title VARCHAR(500) NOT NULL,
    question VARCHAR(100000) NOT NULL,
    question_dateTime VARCHAR(100) NOT NULL,
    PRIMARY KEY(question_id)
    );
看起来您想要的SQL是这样的

SELECT 
LS.FIRST_NAME,
LS.LAST_NAME,
TQ.question_title,
TQ.question,
TQ.question_dateTime
FROM
login_system as LS
JOIN thread_question as TQ ON
LS.user_id = TQ.user_id

首先,跟随一匹没有名字的马,出于安全原因,不要将SQL代码放入JSP页面

另外,请修改你的语法/拼写,因为你的问题很难理解

另一件事是,您需要阅读有关规范化数据库结构的内容

我很清楚,如果愿意,您可以创建多个sql语句,这只是另一个连接,但在这种情况下,您不需要(大多数情况下)

将您的问题表更改为此

create table if not exists thread_question(

    question_id INT NOT NULL auto_increment,
    user_id id INT NOT NULL,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    question_title VARCHAR(500) NOT NULL,
    question VARCHAR(100000) NOT NULL,
    question_dateTime VARCHAR(100) NOT NULL,
    PRIMARY KEY(question_id)
    );
看起来您想要的SQL是这样的

SELECT 
LS.FIRST_NAME,
LS.LAST_NAME,
TQ.question_title,
TQ.question,
TQ.question_dateTime
FROM
login_system as LS
JOIN thread_question as TQ ON
LS.user_id = TQ.user_id

首先,跟随一匹没有名字的马,出于安全原因,不要将SQL代码放入JSP页面

另外,请修改你的语法/拼写,因为你的问题很难理解

另一件事是,您需要阅读有关规范化数据库结构的内容

我很清楚,如果愿意,您可以创建多个sql语句,这只是另一个连接,但在这种情况下,您不需要(大多数情况下)

将您的问题表更改为此

create table if not exists thread_question(

    question_id INT NOT NULL auto_increment,
    user_id id INT NOT NULL,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    question_title VARCHAR(500) NOT NULL,
    question VARCHAR(100000) NOT NULL,
    question_dateTime VARCHAR(100) NOT NULL,
    PRIMARY KEY(question_id)
    );
看起来您想要的SQL是这样的

SELECT 
LS.FIRST_NAME,
LS.LAST_NAME,
TQ.question_title,
TQ.question,
TQ.question_dateTime
FROM
login_system as LS
JOIN thread_question as TQ ON
LS.user_id = TQ.user_id

遵循Shifty解决方案,如果您不想加入表,那么还有一个解决方案,即 1.火警查询