我想从另一个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>
答案 0 :(得分:1)
您的第一个问题是数据库设计错误。您只需要链接,而不是在问题表中复制用户的数据。阅读数据库规范化,并通过删除ask
字段来更改username,email,age,sex
表。
然后使用SELECT查询从users表中获取user_id。
然后运行传统的INSERT查询
INSERT INTO ask(users_id,problem,expecting)
请注意,您必须使用预准备语句进行数据库交互。