我想从一个表到另一个表获取值并插入一些表单值如何?

时间:2015-10-05 15:31:22

标签: php mysql

我想从另一个mysql表中向mysql表添加一些数据,同时我想在同一行的同一个表中添加一些$ _POST值。

注意:即时通讯PHP和MYSQLI

基本上我正在寻找正确的语法,请提前帮助我并提前致谢。

<?php

if(isset($_POST['ask'])) {

require('includes/connection.php');

$problem = $_POST['problem'];
$expecting = $_POST['expecting'];

//SELECT * FROM users WHERE email = '$email' AND 

$string = "INSERT INTO ask(users_id,username,email,age,sex,problem,expecting) SELECT id,username,email,age,sex FROM users AND VALUES('$problem','$expecting') WHERE users.email = '$_SESSION[email]'";

$query = mysqli_query($dbc,$string);

if($query) {

    echo 'yes';

} else {

    echo 'something is wrong' . $query . mysqli_error();

}

}

?>


<!DOCTYPE html>

<html lang="en">

<head>

    <link rel="stylesheet" type="text/css" href="css/style.css">

</head>

<body>

    <div class="ask">

    <h1>Ask</h1>

    <form method="post" action="logged.php">

        <p><label>Problem: </label><input type="text" name="problem" value="<?php if(isset($problem)) { echo $problem; } ?>"></p>
        <p><label>Expecting: </label><input type="text" name="expecting" value="<?php if(isset($expecting)){ echo $expecting; } ?>"></p>
        <p><input type="submit" name="ask" value="Ask"></p>

    </form>

    </div>
    <form method="post" action="logged.php">

        <input type="submit" name="logout" value="Logout">

    </form>

</body>

</html>

1 个答案:

答案 0 :(得分:1)

您的第一个问题是数据库设计错误。您只需要链接,而不是在问题表中复制用户的数据。阅读数据库规范化,并通过删除ask字段来更改username,email,age,sex表。

然后使用SELECT查询从users表中获取user_id。

然后运行传统的INSERT查询

INSERT INTO ask(users_id,problem,expecting)

请注意,您必须使用预准备语句进行数据库交互。